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

0 投票
2 回答
319 浏览

optimization - 计算结果和复用与否

在这里使用伪代码。这些风格是否有优缺点:

假设您有一个可以执行加法、与、或和异或的 alu。是否最好让代码一直计算可能的答案,然后根据操作码选择答案(在这种情况下是一个热门):

另一种方法是这样编码:

我也将其视为:

这两种方法都有优点和缺点,还是最终结果差不多?

0 投票
3 回答
2078 浏览

verilog - 在 Verilog 编译中查找所有依赖项

我正在尝试廉价且准确地预测构建流程的所有 SystemVerilog 依赖项。过度预测依赖关系并找到一些不是 sv 依赖关系的 Verilog 文件是可以的,但我不想错过任何依赖关系。

我是否真的必须解析 Verilog 才能确定它的所有依赖项?有 tick-include 预处理器宏,但那些 tick-include 似乎并没有加载当前正在编译的所有代码。有一个SYSTEM\_VERILOG\_PATH环境变量。我是否需要解析该SYSTEM\_VERILOG\_PATH变量中的每个 SystemVerilog 文件以确定在哪些文件中定义了哪些模块?

0 投票
14 回答
44496 浏览

hardware - 绘制时序图的工具

最近,我正在与一个开发ASIC的硬件设计团队合作。我正在使用 Microsoft Excel 绘制很多时序图,因为它很容易导入 Word 文档。但是,使用 Excel 变得越来越困难。

什么可以用来画时序图?有什么简单的工具吗?

0 投票
1 回答
709 浏览

verilog - 用于 Verilog 或 SystemVerilog 的 TAP(测试任何协议)模块

Verilog是否有 TAP(测试任何协议)实现?这会很好,因为这样我就可以使用证明来自动检查我的结果。

更新:10/9/09:有人问为什么不使用断言。部分 TAP 给了我一些很好的报告,例如文件数量和测试数量。它还可以与 smolder 一起使用,以报告一段时间内的进度。

2009 年 10 月 12 日:我正在寻找一个最小的实现,在开始和结束时测试数量以及 ok、diag 和 fail 功能。is() 真的很好,但不是必需的。

0 投票
8 回答
5516 浏览

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 的优点是您可以确保测试首先失败。我想这也可以通过断言来完成。

0 投票
7 回答
37087 浏览

verilog - Verilog:你能把“assign”语句放在 always@ 或 begin/end 语句中吗?

这是允许的吗?

0 投票
3 回答
756 浏览

verilog - Verilog 中自定义模块数组的单一输入

所以我有一个由 4 个 RAM 模块组成的阵列,我希望能够根据两个不同的选择器信号对其进行读/写。现在我正在使用中间信号实例化 RAM:

我想选择要使用的 RAMheadtail信号(2 位向量)。任何想法如何做到这一点?

0 投票
3 回答
21462 浏览

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.

0 投票
6 回答
558 浏览

hardware - 从常规编程开始使用 HDL

我一直有点想制作自己的微处理器。我读过如何制作自己的微控制器?.

我多次尝试学习一些 Verilog 和 VHDL。但是对于我的生活,我无法理解语言风格。我来自 C/C++/C# 背景,并且在使用 Ruby 进行功能性编程方面(成功地)进行了一些尝试。

任何人都可以推荐一本书或在线资源来从头开始教授 HDL 语言(这样我就可以忘记我的程序性思维方式)

此外,我无法准确了解如何模拟 HDL 程序。没有什么比打印或硬件更重要的了,那么在没有 FPGA 的情况下测试程序的最佳方法是什么(不过我有时会订购其中一个!)。模拟它究竟是如何工作的?

基本上,我只需要有人帮助我了解 HDL 及其仿真。

0 投票
4 回答
80465 浏览

verilog - 如何在 Verilog 中将值“分配”给输出 reg?

(在此处插入非常基本的问题免责声明)

更具体地说,我有以下声明:

在某些代码点中,我需要将零值放入此 reg 中。这是我尝试过的方法和结果:

毕竟我该怎么做?!