问题标签 [verilog]
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.
optimization - 计算结果和复用与否
在这里使用伪代码。这些风格是否有优缺点:
假设您有一个可以执行加法、与、或和异或的 alu。是否最好让代码一直计算可能的答案,然后根据操作码选择答案(在这种情况下是一个热门):
另一种方法是这样编码:
我也将其视为:
这两种方法都有优点和缺点,还是最终结果差不多?
verilog - 在 Verilog 编译中查找所有依赖项
我正在尝试廉价且准确地预测构建流程的所有 SystemVerilog 依赖项。过度预测依赖关系并找到一些不是 sv 依赖关系的 Verilog 文件是可以的,但我不想错过任何依赖关系。
我是否真的必须解析 Verilog 才能确定它的所有依赖项?有 tick-include 预处理器宏,但那些 tick-include 似乎并没有加载当前正在编译的所有代码。有一个SYSTEM\_VERILOG\_PATH
环境变量。我是否需要解析该SYSTEM\_VERILOG\_PATH
变量中的每个 SystemVerilog 文件以确定在哪些文件中定义了哪些模块?
hardware - 绘制时序图的工具
最近,我正在与一个开发ASIC的硬件设计团队合作。我正在使用 Microsoft Excel 绘制很多时序图,因为它很容易导入 Word 文档。但是,使用 Excel 变得越来越困难。
什么可以用来画时序图?有什么简单的工具吗?
verilog - 用于 Verilog 或 SystemVerilog 的 TAP(测试任何协议)模块
Verilog是否有 TAP(测试任何协议)实现?这会很好,因为这样我就可以使用证明来自动检查我的结果。
更新:10/9/09:有人问为什么不使用断言。部分 TAP 给了我一些很好的报告,例如文件数量和测试数量。它还可以与 smolder 一起使用,以报告一段时间内的进度。
2009 年 10 月 12 日:我正在寻找一个最小的实现,在开始和结束时测试数量以及 ok、diag 和 fail 功能。is() 真的很好,但不是必需的。
tdd - 使用 Verilog 或 VHDL 进行逻辑(芯片)设计的测试驱动开发 (TDD) 经验
我在网上看过,讨论/示例似乎是针对传统软件开发的。由于 Verilog 和 VHDL(用于芯片设计,例如 FPGA 和 ASIC)与软件开发 C 和 C++ 相似,因此看起来是有道理的。但是,它们有一些差异,它们基本上是并行的,并且需要硬件来进行全面测试。
你有过哪些好的和坏的经历?您可以在此特定应用程序上建议任何链接吗?
编辑/澄清:2009 年 10 月 28 日:我特别询问 TDD。我熟悉做测试台,包括自检台。我也知道 SystemVerilog 有一些用于测试台的特殊功能。
2009 年 10 月 28 日:暗示的问题包括 1) 为任何功能编写测试,从不使用波形进行模拟和 2) 首先编写测试/测试平台。
2009 年 11 月 29 日:实证研究表明,测试驱动开发提高了他们报告的(软件)TDD 质量“四种产品的预发布缺陷密度(以每千行代码的缺陷数衡量)下降了 40% 到 90%相对于不使用 TDD 的项目。团队管理层主观地报告说,使用 TDD 的团队的初始开发时间增加了 15-35%,尽管团队同意这可以通过降低维护成本来抵消。减少的错误降低了流片的风险,但代价是适度的进度影响。 这也有一些数据。
2009 年 11 月 29 日:我主要做控制和数据路径代码,而不是 DSP 代码。对于 DSP,典型的解决方案包括 Matlab 位精确仿真。
2010 年 3 月 2 日:TDD 的优点是您可以确保测试首先失败。我想这也可以通过断言来完成。
verilog - Verilog 中自定义模块数组的单一输入
所以我有一个由 4 个 RAM 模块组成的阵列,我希望能够根据两个不同的选择器信号对其进行读/写。现在我正在使用中间信号实例化 RAM:
我想选择要使用的 RAMhead
或tail
信号(2 位向量)。任何想法如何做到这一点?
module - How to wire two modules in Verilog?
I have written two modules DLatch and RSLatch and i want to write verilog code to join those two.
hardware - 从常规编程开始使用 HDL
我一直有点想制作自己的微处理器。我读过如何制作自己的微控制器?.
我多次尝试学习一些 Verilog 和 VHDL。但是对于我的生活,我无法理解语言风格。我来自 C/C++/C# 背景,并且在使用 Ruby 进行功能性编程方面(成功地)进行了一些尝试。
任何人都可以推荐一本书或在线资源来从头开始教授 HDL 语言(这样我就可以忘记我的程序性思维方式)
此外,我无法准确了解如何模拟 HDL 程序。没有什么比打印或硬件更重要的了,那么在没有 FPGA 的情况下测试程序的最佳方法是什么(不过我有时会订购其中一个!)。模拟它究竟是如何工作的?
基本上,我只需要有人帮助我了解 HDL 及其仿真。
verilog - 如何在 Verilog 中将值“分配”给输出 reg?
(在此处插入非常基本的问题免责声明)
更具体地说,我有以下声明:
在某些代码点中,我需要将零值放入此 reg 中。这是我尝试过的方法和结果:
毕竟我该怎么做?!