问题标签 [hdl]

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 投票
2 回答
3289 浏览

verilog - 在verilog中使用“生成”时出现问题总是阻塞

我试图在 Verilog 的 case 语句中生成一些条件。

我有一个称为 MANT_WIDTH 的参数,case 语句中的条件数取决于 MANT_WIDTH 的值

例如我有

这段代码中可能有一些没有意义的条件(不正确的位宽等),但我想要做的事情的要点就在这里。

我遇到的问题是,当我尝试使用 ncverilog 模拟此代码时出现以下错误:

ncvlog: *E, ILLPRI (fpmodule.v,278|6): 非法表达式primary [4.2(IEEE)]

我也得到非法的左值语法 [9.2[IEEE)]

我需要计算前导零。我实际上并没有粘贴我的真实代码,我只需要一些方法来计算前导零,但我有一些特殊情况必须放在 for 循环之外。

太感谢了!

0 投票
1 回答
525 浏览

vhdl - 在 Synopsys tetramax 中处理时钟

我正在使用 tetramax 来测量一些测试台的故障覆盖率。我正在运行测试台并转储我要测试的核心的 VCD 文件输入和输出。

时钟和重置已经由我的外部测试平台管理。我想因此我不需要在我的 Tetramax 脚本中添加时钟和重置。

但是我不知道指定时钟是否有任何副作用......例如在输入和输出之间的一些内部延迟计算中。

有没有人有更多关于在 tetramax 脚本中添加时钟和重置效果的信息?

干杯,

0 投票
1 回答
1041 浏览

verilog - 如何使用 VPI PLI 查找两个 Verilog 模块是否连接 - Verilog VCS

这里基本上输出端口 A:A_inst:A_OPORT_1 连接到 B:B_inst:B_IPORT_1

如何使用 verilog PLI 检索该信息?例子赞赏。

我有一些代码可以获取端口并检索 highconn 并能够获取线/网 A_to_B。

但是,我无法使用 vpiPortInst 找出哪些端口连接到 A_To_B。我得到一个为空的迭代器。

输出/输出:

0 投票
2 回答
5439 浏览

vhdl - 生成语句中的信号或变量计数器

我对生成语句有疑问。我正在生成一个管道架构,基本问题是除了 for 索引之外我还需要另一个计数器或变量:

在生成第一个结构时,我需要对 signVector 使用不同的索引,我创建了一个用作计数器的信号 (port map(signVector(signCounter),lx(((i+2)*dataSize-1) downto ) 但它不能用作索引错误是:“正式“子”的实际(索引名称)不是静态信号名称。”

任何帮助将不胜感激:),ty

0 投票
1 回答
192 浏览

vhdl - VHDL IEEE 标准库与组件

我正在为 Xilinx FPGA 开发一个 VHDL 项目,发现自己处于十字路口。

例如,我需要添加两个信号 (C=A+B),并发现 Xilinx 具有可以生成可以完成这项工作的组件的工具。

但这也可以在标准 VHDL 中实现:C <= A + B

如果我使用标准 VHDL 代码应该是可移植的,但这是否具有较低的吞吐量?

我的意思是,特殊组件是否使用 FPGA 等内部的 DSP 功能,这使得它们更快,或者合成器通常可以处理这个吗?

0 投票
2 回答
932 浏览

vhdl - VHDL 代码综合错误

我编写了一个 VHDL 代码来实现 PWM 控制器的功能。我已经模拟成功,结果符合预期。我还检查了合成的语法,但它显示了任何错误。当我使用 XILINX ISE 12.4 合成它时,它没有合成并且错误状态

“错误:Xst:827 - 第 67 行:信号 tmp_PC 无法合成,同步描述错误。当前软件版本不支持您用于描述同步元素(寄存器、内存等)的描述样式。”

我尝试查找错误消息并得到不同的答案。出现的可能原因1:不符合综合模板的“IF”嵌套不当。2:使用“risisng_edge(clk)”而不是通常的“(clk'event and clk='1')”。

我仍然不完全确定可能是什么问题。如果有人可以提出我忽略的可能错误,那将非常有帮助。

0 投票
1 回答
4718 浏览

vhdl - 如何使用块 RAM 进行读写?

如何在 spartan 3 中使用 block ram 读写?

我在 sim.pdf 中阅读了 xilinix 的手册,每次写入都需要一个时钟周期,并且每次读取也需要一个时钟周期,因为 BRAM 是同步的。我们是否应该让有限状态机释放 ram 的每个写入和读取操作?

0 投票
2 回答
3482 浏览

verilog - 为什么 Verilog 函数中不允许非阻塞赋值?

我读过 Verilog 函数中不允许使用非阻塞赋值。任何人都可以为此提出一个合理的解释吗?

0 投票
3 回答
773 浏览

verilog - Verilog 有限状态机

我正在尝试在 verilog 中创建一个有限状态机。该系统有 4 个1-bit 输入 rst,和1个输出clk, 。ABZ

Z 等于 1,如果: A 在最后两个时钟沿具有相同的值。

或 B 自上一条规则成立以来在每个时钟沿都为高 (1)。

否则z=0

我没有工具来模拟我的尝试 atm。所以我想知道这是否是正确的方法,如果我走在正确的轨道上?

0 投票
1 回答
387 浏览

vhdl - 是否可以在 ModelSim 中编写仿真验证程序?

我正在使用ModelSim来设计和模拟 CPU 架构。对于像我这样了解这一点的人,您可能也知道,在尝试处理您面前的所有这些信号时,验证仿真数据确实很困难。

有没有办法自动运行模拟并执行一些验证程序,以查看我获得的数据是否正确?

例如,我有一个组件,当被一个信号刺激时,在下一个时钟,它会返回否定的信号。我想验证这一点。如何?(当然无需手动检查屏幕上的信号)。

谢谢