问题标签 [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.

0 投票
1 回答
546 浏览

vhdl - VHDL & Synthesizing w/Quartus 简单错误

所以我目前正在尝试合成一个设计,显然它太大而无法编译或其他东西。它在 ModelSim 中编译和模拟完美,但在 quartus 中抛出此错误:

错误:设计需要 491 个 I/O 资源 - 太多,无法容纳所选设备或设备系列中的任何设备中的 456 个可用资源

显然我有 491 个 I/O 资源,但只能容纳 456 个(??)。我不知道这意味着什么或如何扩展 456 号码。谷歌搜索让我无处可去。有人知道在这种情况下该怎么做吗?

非常感谢!

0 投票
1 回答
171 浏览

vhdl - 如何将波形添加到 quartus?

我即将在 Quartus 的 VHDL 项目中从文件中创建一个新波形,但我未能在该位置的验证部分找到波形类型。

我们向项目中添加新文件的地方,我该怎么办?

我正在使用 Quartus 的网络版。

0 投票
1 回答
1191 浏览

enums - QuartusII 综合:枚举类型到状态信号(编码)

我正在 SystemVerilog 中设计一个 FSM,以便通过 QuartusII (14.1) 工具进行综合,以放在 Altera FPGA 上。我正在使用枚举声明使代码更加合理:

每当 Quartus 合成这个状态机时,它似乎创建了一个单热编码,尽管有logic [7:0]类型的一部分。例如,当我必须将状态添加到 SignalTap 时,我将所有状态作为信号 1 位变量(cs.CMD_INITcs.CMD_WAIT等)。虽然这通常非常有用,因为我需要一次查看一堆这些状态和一些超值,但我用完了片上内存来包含所有这些状态(其中有 8 个以上;比如 50 个) +)。因此,将它们全部添加到 SignalTap 会占用大量内存;但如果我可以把 8 位的值写下来cs,我就有足够的空间来做其他事情了。

我不知道如何让 Quartus 不对 FSM 使用 1-hot 编码。我尝试将设置(设置->编译器设置->高级设置(综合...)->状态机处理)更改为最小位、用户编码和顺序,以及为一些状态添加值:

(注意,不是全部,因为有一堆我可能会在中间添加更多)

我不确定还能做什么,这样 SignalTap 只能看到 8 位的状态(这可能可以追溯到让 Quartus 将此 FSM 合成为顺序编码而不是 1hot 编码)

0 投票
1 回答
1386 浏览

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',则相同。

模拟图像: BCD 计数器模拟

为什么一开始就从0跳到2?

谢谢你。

0 投票
0 回答
46 浏览

intel-fpga - 如何增加ROM-1Port中的地址

我使用 Altera 的 Quartus 宏功能 ROM-1Port,在里面输入 8 个数据,它只显示第一个数据。我已经连接了一个增量程序来增加地址,但它仍然显示第一个数据。它连接正确吗?还是我做错了?

这是我的增量程序的示例代码:

0 投票
1 回答
769 浏览

vhdl - Quartus Post 综合中的问题——输出获取为 xxxxxxxx

我已经编写了一个 vhdl 代码,我想在 FPGA 中运行它,该代码在 ghdl 和 Quartus 2 预合成(RTL 仿真)中运行良好,但是当我在门级仿真中运行时,它显示 data_out 为 xxxxxxx .我无法弄清楚是什么问题。谁能帮我?

--- 设备代码

---输入文件1010 0111 1110 0010 1011

-- 输出文件内容 00000101


我已经更改了我的代码和测试台,甚至包括了延迟,但我仍然收到相同的 xxxx 错误......谁能帮我看看代码中有什么问题......我还需要改变什么。谢谢提前

------ 修改代码

-- 新的测试平台

我还附上了合成前和合成后的图像。我无法弄清楚我错在哪里

presynthesis presynthesis post_synthesis post_synthesis

0 投票
1 回答
895 浏览

intel-fpga - 如何使用在 Qsys 中创建的新组件将许多信号矢量化/组合在一起

在 Qsys 中,我使用了 12 个输入并行端口(我们将它们命名pio1pio12),每个端口都是 12 位的。vhdl这些并行端口从Quartus 原理图中的模块中获取值。在原理图bdf中,我可以从 nios ii 系统符号中看到pio1to ,因此我可以将这些s 连接到我的其他块pio12piobdf.

我的问题是,如何将这些矢量pio1化为pio12?不是pio从 Nios 系统符号中一行一行地看到所有十二个,而是应该怎么做才能将所有这十二个 pios 分组,以便我只看到一个而不是十二个?根据pio我看到的,我可以将它命名为pio[1..12][1..12],第一个括号表示pio1to pio12,第二个括号表示第 1 位到第 12 位,因为每个并行端口都有 12 位。

我使用这个pio_helper.vhd文件在 Qsys 中创建了一个新组件,

pio_helper.vhdl文件如下:

pio_helperis 的架构行为

我收到以下错误,我有几个问题:

  1. 我假设我不会有时钟和复位信号,因为这纯粹是数据传输
  2. writebyteenable_n出现 12 次(只允许出现一次),但我有 12 次pio...要进行哪些更改?

警告:avalon_slave_0:信号 writebyteenable_n 出现 12 次(只允许一次) 错误:avalon_slave_0:接口必须有关联的时钟 错误:avalon_slave_0:接口必须有关联的复位 错误:avalon_slave_0:接口必须有关联的时钟。

0 投票
2 回答
1032 浏览

vhdl - VHDL 信号的延迟 - Quartus

我在使用 Altera 的 Quartus II 时遇到了一个问题。在 VHDL 课程中,我对 VHDL 变量 VS 信号的行为有疑问。该理论认为 VHDL 变量会立即获得其新值。另一方面,信号的新值需要延迟。所以这两种情况的结果是不同的。但这不是我使用 Quartus 工具时发生的情况。我出乎意料地得到了相同的结果。不知道为什么会这样,请指教??

0 投票
2 回答
7668 浏览

compilation - 当单个实体上有多个架构时会发生什么?

假设一个实体定义了两种架构。这两种架构使用相同的实体(显然),随后两者将输出引脚设置为不同的值。我的问题是,程序(模拟器)如何确定输出应该是什么(即选择哪种架构)?

这是一个例子:

我做了一个模拟,看到q获得了分配的 a 的值,qn获得了分配的b的值。似乎编译器选择了第二种架构我不明白为什么程序决定这样做。

谢谢你。

0 投票
1 回答
8461 浏览

vhdl - 如何在报告语句中将字符串与整数连接?

我无法使以下报告语句正常工作:

a类型在哪里in std_logic_vector(31 downto 0)

我得到的错误是:

我想打印一个字符串,连接整数值,然后连接另一个字符串。

我究竟做错了什么?