问题标签 [iverilog]
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.
verilog - 如何在测试台上运行 verilog 代码?
我为波纹进位加法器编写了代码。测试台也可用。如何在我的 Verilog 代码上运行这个测试平台?我没有模拟器。我正在使用iverilog
编译器。
ipple_carry_adder.v
试验台
verilog - Verilog 代码编译没有错误但没有输出
我试图创建一个 16 位输入到 4 位输出编码器。我能够编译我的代码而没有任何错误,但是在 [ iverilog encoder_tb.v -o encoder
] & [ vvp encoder vcd
] 命令之后,即使我已经给出$monitor
了$display
任何我能想到的语句,它也没有给我任何东西。我无法调试这个。
macos - 在macbook上设置iverilog环境
我试图使iverilog 命令st 我可以在我的Macbook Air 上运行verilog 程序。在安装文件的几个步骤之后,教程告诉我输入:
它在iverilog 命令方面起作用,即我可以编译.v 文件。但是,正常的命令,如ls
,man
等。我猜是命令集的PATH的问题,这意味着那些正常的unix命令是没有定位的。
有人可以告诉我如何解决它而且我不需要每次都导出 PATH 吗?
mips - 数组声明和访问 Verilog
我正在尝试在 Verilog 中创建一个具有 10 个空格的 32 位数组。这是代码:
然后我尝试将 32 位值分配给该寄存器内的不同位置。这是一个代码示例:
编译时出现以下错误:
第 21 行代表我试图访问internalMemory[1]
.
关于为什么会发生这种情况以及如何解决它的任何建议?
谢谢!
更新 1:
按照这里的要求,我正在尝试实现指令寄存器的代码:
interface - 如何使用脚本或工具获取 Verilog 模块的输入和输出名称?
是否有工具或脚本允许我解析 Verilog 文件以获取模块输入和输出的名称?我试图查看iverilog 和yosys,但它们似乎没有此功能。我可以自己写,但我不想重新发明轮子。谢谢!
verilog - Verilog 4 位加减计数器设计使用负边沿触发 T 触发器
我对 Verilog HDL 很陌生,我必须编写这个 4 位向上计数器。在阅读了一些上下计数器和 t 触发器的帮助下,我已经编写了以下代码:
现在,我收到此错误:
第 25 行是这一行:
我不是 100% 确定我的编码是否正确。你能告诉我我的问题在哪里吗?
verilog - 将 5 位总线连接到 32 位输出总线
我的设计需要多个多路复用器,它们都有两个输入,大多数都是 32 位宽。我从设计 32 位 2:1 多路复用器开始。
现在我需要一个 5 位 2:1 多路复用器,并且我想重用我的 32 位设计。连接输入很容易(见下面的代码),但我很难连接输出。
这是我的代码:
当我通过 iverilog 运行代码时,我收到一条警告,指出多路复用器需要 32 位输出,但连接的总线只有 5 位宽。模拟显示了预期的结果,但我想摆脱警告。
有没有办法告诉iverilog忽略多路复用器输出的27个未使用位,还是我必须将32位宽的总线连接到多路复用器的输出?
verilog - verilog 中的环形计数器
我正在尝试使用 Verilog 中的 D 触发器创建一个 4 位计数器。我正在关注这张图http://i.imgur.com/VR5593a.png。我得到了单个 D 触发器的代码。我遇到的问题是第一个时钟周期中的 D0。我猜我必须首先假设 Q0 为 1,Q1、Q2、Q3 为 0。我不确定如何在代码中只传递一次 D0 的初始值。
verilog - Verilog 内存组件输入
我正在 Verilog 的一个实验室工作,其中一项任务告诉我将不同的内容写入 2 个不同的地址。
这是我的代码:
mem 的工作原理如下:
为了读取一个字,在地址上设置它的地址并设置读取。经过一段时间的延迟,单词的内容会在 memOut 上稳定下来。要写入,在 memIn 上设置要写入的数据,在 address 上设置目标地址,然后设置 write。数据将在 clk 的下一个上升沿写入目标。
上面的输出是地址 16 的正确值,但地址 20 和 24 是“xxxxxxxx”。
我已经坚持了一段时间,我不明白为什么我不能重新分配 memIn。
任何帮助将非常感激。
谢谢。
verilog - 基准代码中的错误
触发器结构代码和测试台代码
我不知道我在哪里犯了错误。我在输出中几乎没有错误。
@@@试验台@@@@
得到这样的错误:
错误-[V2KS] 使用 Verilog IEEE 1364-2000 语法
TFlipflop.v, 4 Verilog 2000 IEEE 1364-2000 使用的语法:组合端口和类型声明。请使用 +v2k 编译以支持此结构。
错误-[V2KS] 使用 Verilog IEEE 1364-2000 语法
TFlipflop.v, 4 Verilog 2000 IEEE 1364-2000 使用的语法:Ansi 风格的端口声明。请使用 +v2k 编译以支持此结构。
错误-[V2KS] 使用 Verilog IEEE 1364-2000 语法
TFlipflop.v, 6 Verilog 2000 IEEE 1364-2000 使用的语法:逗号分隔的敏感度列表。请使用 +v2k 编译以支持此结构。
解析设计文件“test_TFlipflop.v”
错误-[V2KS] 使用 Verilog IEEE 1364-2000 语法
test_TFlipflop.v, 21 Verilog 2000 IEEE 1364-2000 使用的语法:逗号分隔的敏感度列表。请使用 +v2k 编译以支持此结构。
4 个错误 CPU 时间:0.036 秒