问题标签 [quartus]
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.
vhdl - VHDL & Synthesizing w/Quartus 简单错误
所以我目前正在尝试合成一个设计,显然它太大而无法编译或其他东西。它在 ModelSim 中编译和模拟完美,但在 quartus 中抛出此错误:
错误:设计需要 491 个 I/O 资源 - 太多,无法容纳所选设备或设备系列中的任何设备中的 456 个可用资源
显然我有 491 个 I/O 资源,但只能容纳 456 个(??)。我不知道这意味着什么或如何扩展 456 号码。谷歌搜索让我无处可去。有人知道在这种情况下该怎么做吗?
非常感谢!
vhdl - 如何将波形添加到 quartus?
我即将在 Quartus 的 VHDL 项目中从文件中创建一个新波形,但我未能在该位置的验证部分找到波形类型。
我们向项目中添加新文件的地方,我该怎么办?
我正在使用 Quartus 的网络版。
enums - QuartusII 综合:枚举类型到状态信号(编码)
我正在 SystemVerilog 中设计一个 FSM,以便通过 QuartusII (14.1) 工具进行综合,以放在 Altera FPGA 上。我正在使用枚举声明使代码更加合理:
每当 Quartus 合成这个状态机时,它似乎创建了一个单热编码,尽管有logic [7:0]
类型的一部分。例如,当我必须将状态添加到 SignalTap 时,我将所有状态作为信号 1 位变量(cs.CMD_INIT
、cs.CMD_WAIT
等)。虽然这通常非常有用,因为我需要一次查看一堆这些状态和一些超值,但我用完了片上内存来包含所有这些状态(其中有 8 个以上;比如 50 个) +)。因此,将它们全部添加到 SignalTap 会占用大量内存;但如果我可以把 8 位的值写下来cs
,我就有足够的空间来做其他事情了。
我不知道如何让 Quartus 不对 FSM 使用 1-hot 编码。我尝试将设置(设置->编译器设置->高级设置(综合...)->状态机处理)更改为最小位、用户编码和顺序,以及为一些状态添加值:
(注意,不是全部,因为有一堆我可能会在中间添加更多)
我不确定还能做什么,这样 SignalTap 只能看到 8 位的状态(这可能可以追溯到让 Quartus 将此 FSM 合成为顺序编码而不是 1hot 编码)
vhdl - 这个 VHDL 代码有什么问题 - BCD 计数器?
我现在正在学习 VHDL,我有一个非常简单的家庭作业 - 我需要构建一个同步 BCD 计数器,它会从 0 计数到 9,当它达到 9 时,会回到 0。我想尝试一下所以我决定不以(至少我看到的方式)传统方式(使用 if、elseif)来编写代码,而是使用 when-else 语句(主要是因为 counter 是从 0 到 9 并且必须一旦达到 9 就回到 0)。
所以一切都编译了,但在模拟中,最初计数器从 0 跳到 2,但在一个周期 (0-9 - 0) 之后它表现正常,这意味着计数器从 0 到 1 应该是这样。如果您强制 rst = '1',则相同。
模拟图像:
为什么一开始就从0跳到2?
谢谢你。
intel-fpga - 如何增加ROM-1Port中的地址
我使用 Altera 的 Quartus 宏功能 ROM-1Port,在里面输入 8 个数据,它只显示第一个数据。我已经连接了一个增量程序来增加地址,但它仍然显示第一个数据。它连接正确吗?还是我做错了?
这是我的增量程序的示例代码:
vhdl - Quartus Post 综合中的问题——输出获取为 xxxxxxxx
我已经编写了一个 vhdl 代码,我想在 FPGA 中运行它,该代码在 ghdl 和 Quartus 2 预合成(RTL 仿真)中运行良好,但是当我在门级仿真中运行时,它显示 data_out 为 xxxxxxx .我无法弄清楚是什么问题。谁能帮我?
--- 设备代码
---输入文件1010 0111 1110 0010 1011
-- 输出文件内容 00000101
我已经更改了我的代码和测试台,甚至包括了延迟,但我仍然收到相同的 xxxx 错误......谁能帮我看看代码中有什么问题......我还需要改变什么。谢谢提前
------ 修改代码
-- 新的测试平台
我还附上了合成前和合成后的图像。我无法弄清楚我错在哪里
presynthesis post_synthesis
intel-fpga - 如何使用在 Qsys 中创建的新组件将许多信号矢量化/组合在一起
在 Qsys 中,我使用了 12 个输入并行端口(我们将它们命名pio1
为pio12
),每个端口都是 12 位的。vhdl
这些并行端口从Quartus 原理图中的模块中获取值。在原理图bdf
中,我可以从 nios ii 系统符号中看到pio1
to ,因此我可以将这些s 连接到我的其他块pio12
pio
bdf
.
我的问题是,如何将这些矢量pio1
化为pio12
?不是pio
从 Nios 系统符号中一行一行地看到所有十二个,而是应该怎么做才能将所有这十二个 pios 分组,以便我只看到一个而不是十二个?根据pio
我看到的,我可以将它命名为pio
[1..12][1..12],第一个括号表示pio1
to pio12
,第二个括号表示第 1 位到第 12 位,因为每个并行端口都有 12 位。
我使用这个pio_helper.vhd
文件在 Qsys 中创建了一个新组件,
该pio_helper.vhdl
文件如下:
pio_helper
is 的架构行为
我收到以下错误,我有几个问题:
- 我假设我不会有时钟和复位信号,因为这纯粹是数据传输
writebyteenable_n
出现 12 次(只允许出现一次),但我有 12 次pio
...要进行哪些更改?
警告:avalon_slave_0:信号 writebyteenable_n 出现 12 次(只允许一次) 错误:avalon_slave_0:接口必须有关联的时钟 错误:avalon_slave_0:接口必须有关联的复位 错误:avalon_slave_0:接口必须有关联的时钟。
vhdl - VHDL 信号的延迟 - Quartus
我在使用 Altera 的 Quartus II 时遇到了一个问题。在 VHDL 课程中,我对 VHDL 变量 VS 信号的行为有疑问。该理论认为 VHDL 变量会立即获得其新值。另一方面,信号的新值需要延迟。所以这两种情况的结果是不同的。但这不是我使用 Quartus 工具时发生的情况。我出乎意料地得到了相同的结果。不知道为什么会这样,请指教??
compilation - 当单个实体上有多个架构时会发生什么?
假设一个实体定义了两种架构。这两种架构使用相同的实体(显然),随后两者将输出引脚设置为不同的值。我的问题是,程序(模拟器)如何确定输出应该是什么(即选择哪种架构)?
这是一个例子:
我做了一个模拟,看到q获得了分配的 a 的值,而qn获得了分配的b的值。似乎编译器选择了第二种架构我不明白为什么程序决定这样做。
谢谢你。
vhdl - 如何在报告语句中将字符串与整数连接?
我无法使以下报告语句正常工作:
a
类型在哪里in std_logic_vector(31 downto 0)
。
我得到的错误是:
我想打印一个字符串,连接整数值,然后连接另一个字符串。
我究竟做错了什么?