问题标签 [intel-fpga]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
33559 浏览

vhdl - VHDL 分配文字

我正在尝试在 VHDL 中使用具有明确定义的位宽的无符号整数。似乎 VHDL 不喜欢我试图将文字值分配给定义为的这些类型:

但在我的 IDE (Quartus) 中,我收到一条抱怨“UNSIGNED 类型与整数文字不匹配”。我还抱怨向这样定义的类型添加数字。我需要做的首选更改是什么?

0 投票
2 回答
850 浏览

compiler-errors - 将 *.vhdl 编译到库中时出现编译器错误 - Altera Quartus II

我已经从http://www.vhdl.org/fphdl/下载了浮点包,并执行了以下操作:

  1. 我在我的项目中包含了 math_utility_pkg.vhd、fixed_pkg_c.vhd 和 float_pkg_c.vhd 文件
  2. 我将它们分配给一个库(按照Compiling *.vhdl into a library, using Altera Quartus II中的说明中的说明)
  3. tried to compile them, first by setting my project's top entity as top entity and the second time by setting float_pkg_c.vhd as top entity

I'v encountered several issues:

  1. I'm not sure whether to use the ieee_proposed library name or floatfixlib, as the former is suggested in the documentation and the latter is used from within the package files
  2. When compiling, I keep getting errors from within the package files (e.g. "failed to elaborate call to subprogram "remainder"" and similar)
  3. There seem to be some dispute between the facts that the package file has the suffix _c, but it should be included without it (e.g. use FLOATFIXLIB.float_pkg.all;), I can't get to that error at this moment though
  4. 最后,当 float_pkg_c.vhd 设置为顶级实体时,编译器会生成此错误:“顶级设计实体“float_pkg_c”未定义”

我一直在尝试上述尝试的变体,但根本没有任何进展。

0 投票
1 回答
1645 浏览

modelsim - 如何在 ModelSim Altera Starter 中创建波形

我将 Altera ModelSim 10.1d 用于一个类的 verilog 项目。我不知道如何正确运行模拟。我有一个非常简单的 verilog 文件(只是一个 2 对 1 多路复用器),我想尝试 4 种不同的输入组合。

根据 Altera 网站上的指南,我完成了以下操作:1) 单击 Simulate->Start Simulation 并选择 mux 文件 2) 在“Sim”窗格中单击 Add Wave 3) 然后单击运行。

我得到的只是一些扁平线。如何修改输入的波形?右键单击对象窗格中的输入并转到“修改”有一个“更改值”选项,但它是灰色的。

有任何想法吗?

0 投票
1 回答
6606 浏览

generics - VHDL 定时器,当它达到它的计数时返回 1

我正在尝试设计一个交通灯控制器,为此我需要许多不同的计时器。因此,我用 VHDL 设计了这个通用定时器:

然而,当我运行定时器时,它输出 0 并且永远不会改变(我已经通过将计数映射到 Altera MAX II EMP240T100C5 上的 LED 对此进行了测试),因此我的控制器中的状态没有进展。我不知道为什么会这样?

0 投票
0 回答
353 浏览

intel-fpga - 移植到 Altera NIOS II 时的文件操作问题

我最近开始将我的项目的 C 实现移植到 NIOS II 系统,我似乎遇到了障碍。我最初的实现使用文件操作(fopen、fscanf、fgets 等)。但是我使用的是大学计划 IP 核,因此必须使用 Altera 提供的 HAL 功能。

所以问题是,我是否必须重写我在格式化文本中读取并逐字节读取然后格式化的部分?或者是否可以保留我当前的代码?

附言

我正在使用带有 Eclipse Build Tools 的 Quartus II 13.0,我的开发板是 Altera DE1。

我能想到的唯一解决方案是将整个文本文件保存到一个数组中,然后将格式化的文件操作更改为对应的字符串,但这可能会占用大量空间。我也不认为在 NIOS II 上使用操作系统对我来说是一种选择。

0 投票
1 回答
270 浏览

vhdl - VHDL 时钟分频器在板上工作,但在仿真中失败

我目前正在尝试使用 VHDL 设计一个交通灯控制器,我正在使用定制扩展板来显示交通灯的 Altera EPM240T100C5 上对其进行编程。由于板上最慢的时钟设置仍然比我想要的快,我需要编写一个时钟分频器,我这样做了:

这在板上运行良好,但在模拟器(ModelSim)中,“dividedclk”输出无法初始化任何东西。我想知道是否有人知道为什么?

0 投票
2 回答
299 浏览

c# - 对称密码 HDL

假设一个好的 C 程序员想从头开始编写给定对称密码的 VHDL 代码..任何人有任何想法或技巧来编写一个不太难的代码?这只是为了证明最后一年项目的概念。我已经使用 opencores 核心让 AES 成功运行。

基本上,我有一周的时间来编写一个 VHDL 实现。我在 C 语言方面会高于平均水平,但在 VHDL 方面并不出色,所以不要寻找太难的东西。正在阅读有关 EStream 密码的内容。如果有人能指出我正确的方向......谢谢!

PS 我担心的是,考虑到我工作的时间有限,我会解决一些在 FPGA 中实现起来太尴尬的问题!

0 投票
1 回答
77 浏览

fpga - Altera Stratix III 或 Stratix II 器件是否支持部分重配置

我想问一下这个Stratix II或III设备不支持部分重配置的问题?

有没有人使用过 Xtremedata XD1000 或 XtremeData XD2000i 设备的经验,这些设备分别具有 Stratix II 和 III 作为协处理器系统的 FPGA 支持?如果是,那么是否可以通过 HyperTransport 介质(通过 AMD 处理器)进行部分重新配置

谢谢

0 投票
3 回答
5412 浏览

vhdl - 推断的 RAM 在 ModelSim Altera 版本中未初始化

我有一个用于 Altera FPGA 目标的内存模块,我已将其推断为 Altera 的 ALTSYNCRAM 块之一。内存是 1024x16,我有一个用属性指定的内存初始化文件。综合时,综合报告表明它生成了我想要的 RAM 块类型,并指出初始化文件是我指定的文件。当尝试使用 Altera 的 ModelSim 版本进行仿真时,数据信号开始时完全未初始化,我不知道为什么。我查看了论坛等,有人提到 ModelSim 可能不支持我正在使用的“.mif”格式,但会支持“.hex”,所以我将初始化文件更改为“.hex”。我还读到相对文件路径可能是一个问题,

关于为什么没有初始化内存以及如何使其初始化的任何想法?

包含推断内存的大量修剪模型:

Modelsim 在编译 CPU.vhd 时没有显示任何警告或错误,也没有任何加载初始化文件的指示。

这是我使用 Altera 软件或内存初始化文件的第一个设计,如果问题是非常基本的问题,或者我从根本不正确的角度处理这个问题,我不会感到惊讶。我通常会在包中使用常量定义内存,但这是针对一个类的,它要求我有一个内存初始化文件(它也需要 .mif 格式,但这只是模拟和综合之间的 3 个字符变化文件)。

0 投票
1 回答
871 浏览

vhdl - 如何将 std_logic_vector 的值添加到 VHDL 中的索引?

我正在编写一个灵活的 MUX,它有一个通用的,它决定了选择线的数量,也决定了系统的输入和输出的数量。例如,如果大小 = 3;该系统将有 8 个输入、64 个输出和 3 个选择线。这会创建 2^size 多路复用器,每次选择位更改时我都需要设置它们(它们是全局的)。

到目前为止,我有这个:

我想做的是遍历循环中的输入( 0 到 ((2**size)-1) )并将正确的输出调整为存储在该位置的值。问题是我需要为此使用 sel 的值作为 i * 2**size 的偏移量,但我可以在本练习中使用的库不允许我使用 + 运算符将该值添加到 i * 2**尺寸。有什么建议么?