问题标签 [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 投票
10 回答
1023 浏览

embedded - 我应该从哪里开始使用 HDL?

我是一名自学成才的嵌入式开发人员。我主要使用用 C 和 ASM 编写的 AVR,但我也涉足过其他系统。我希望转向更复杂的设备,如 CPLD 和 FPGA,但我不知道从哪里开始。所以我的一个半问题是:

  1. 您更喜欢 VHDL 还是 Verilog,为什么?
  2. 对于没有 HDL 经验的人开始学习这样的野兽,有什么好方法?
0 投票
3 回答
23142 浏览

verilog - 如何在verilog中将数字转换为二进制补码?

我正在尝试在 verilog 中设计一个 4 位加法减法器。这只是我用verilog 写的第二件事,而且我还不知道所有正确的语法。这是我到目前为止的模块:

我的编译器(xilinx 10.1)一直说“if 附近出现语法错误”。我尝试了许多不同的转换方法,包括仅使用以 Y 作为参数的 Case,然后检查所有可能的 4 位组合,并将它们转换为二进制补码。

Z 决定加法器是做减法还是加法。如果为 0,则表示减法,我想将 y 转换为二进制补码,然后进行常规加法。我确定加法器的其余部分是正确的,我只是不知道我要转换的部分有什么问题。

0 投票
6 回答
19796 浏览

verilog - 硬件描述语言(Verilog、VHDL 等)的最佳实践是什么?

实现 HDL 代码时应遵守哪些最佳实践?

与更常见的软件开发领域相比,有哪些共同点和不同点?

0 投票
2 回答
367 浏览

verilog - 可以在 VHDL 中完成动态可插拔模块吗?

在c(嵌入式)中,可以通过定义函数指针表和模块可以加载到的地址范围来实现插件。

这需要链接器指令来分配空间并定义函数表的位置。

HDL / VHDL或Verilog中是否有类似的机制。

我想我在想的是在 FPGA 中定义一个门块以用于我的扩展功能,定义它将连接到的端口,然后能够将逻辑加载到该块中以执行特定操作。

这必须在运行时进行,因为 FPGA 是交付插件的通信系统的一部分。

0 投票
5 回答
11191 浏览

hdl - 如何在“Nand to Tetris”课程中为 ALU 设置输出标志?

虽然我标记了这个作业,但它实际上是我自己免费完成的一门课程。无论如何,这门课程叫做“从 Nand 到俄罗斯方块”,我希望这里有人看过或上过这门课程,以便我能得到一些帮助。我正处于使用提供的 hdl 语言构建 ALU 的阶段。我的问题是我的芯片无法正确编译。当我尝试为 ALU 设置输出标志时出现错误。我相信问题是我不能下标任何中间变量,因为当我尝试根据一些随机变量(比如输入标志)将标志设置为真或假时,我没有得到错误。我知道问题不在于我尝试使用的芯片,因为我使用的是所有内置芯片。

到目前为止,这是我的 ALU 芯片:

因此,当我尝试将“out”的下标版本发送到 Or8Way 芯片时,问题就出现了。我尝试使用与“out”不同的变量,但遇到了同样的问题。然后我读到你不能下标中间变量。我想也许如果我将中间变量发送到其他芯片,并且该芯片下标它,它会解决问题,但它有同样的错误。不幸的是,我只是想不出一种方法来设置 zr 和 ng 标志而不下标一些中间变量,所以我真的被卡住了!

请注意,如果我用以下内容替换有问题的行,它将编译(但不会给出正确的结果,因为我只是使用一些随机输入):

有人有想法么?

编辑:这是本书的附录,该附录指定了 hdl 的工作原理。具体看第 5 节,它讨论了总线并说:“内部引脚(如上面的 v)可能没有下标”。

编辑:这是我得到的确切错误:“第 68 行,无法将门的输出引脚连接到部件”。不过,错误消息有点令人困惑,因为这似乎不是真正的问题。如果我只是替换“Or8way(in=out[0..7], out=zr1);” 用“Or8way(in=false,out=zr1);” 它不会产生这个错误,这导致我在附录中查找并发现 out 变量,因为它是作为中间派生的,所以不能下标。

0 投票
2 回答
2393 浏览

variable-assignment - 在嵌套的模块集中分配电线

我有一条大约 4 层深的电线,我真的不希望不得不将它向上传播的麻烦。有没有办法使用某种引用来分配电线?我知道我可以通过键入以下内容来访问电线:

不工作

任何人都知道有什么办法吗?

0 投票
1 回答
1080 浏览

verilog - 如何合成在 xilinx 内核生成器中制作的 verilog 内核?

我使用 coregen 开发了一个分频器核心。以下是我尝试在我的设计中使用该分隔符的步骤(不确定它是否完全正确):1)将包装器(core_name.v)、.ngc 文件和 .veo 文件复制到主设计文件夹中 2)在我使用 veo 模板的主 verilog 模块:core_name u1(.a(a_p), .b(b_p), .c(c_p), .d(d_p); 每当我需要在我的主 verilog 模块中使用除法功能时 3) `包括“core_name.v”

当我进行语法检查时,我得到:“core_name.v”第 1 行期待 'endmodule',找到了 'module'

请就在我的 ISE 设计中实例化内核并对其进行综合所需的步骤提供建议。

谢谢你。

0 投票
2 回答
1951 浏览

verilog - Verilog 代码模拟但未在 FPGA 上按预期运行

我对我的代码进行了行为模拟,它运行良好。结果如预期。当我合成我的代码并将其上传到 spartan 3e FPGA 并尝试使用chipscope 进行分析时,结果甚至与我的预期不相近。我做错了什么? http://pastebin.com/XWMekL7r

0 投票
1 回答
1380 浏览

verilog - Verilog 测试台可以与真实时钟一起使用吗?

我用 Verilog 写了一个计数器,然后用一个测试台来测试它。我的测试台给出了正确的结果,所以我的代码没问题。但它是否立即给出了很长一段时间的结果。

是否可以实时获取结果。我的意思是每一秒我的测试台都会产生一条新的结果??(如果有可能怎么办?)

0 投票
1 回答
310 浏览

specman - 在 Specman 中,为什么我的代码体宏标签返回垃圾?

类似于这篇文章 http://feedproxy.google.com/~r/cadence/community/blogs/fv/~3/IvdCIla8_Es/extending-multiple-when-subtypes-simultaneously.aspx

我想制作一个循环展开的宏,以解决 Specman 遇到的一些 when-subtyping 和继承问题。

我开始了:

当我运行它时,我得到:

如果您查看以下内容的打印输出<UNROLLEES>

为什么花括号里面<UNROLLEES>给我而不是body?[35]35 是 的 ascii 值#,所以我不知道为什么我会得到 35 ......

PS我意识到宏来自魔鬼,但我认为代码复制更糟糕。我必须这样做,因为 Specman 并不是真正的多态。