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

0 投票
2 回答
213 浏览

verilog - Verilog模块无法计算a&b和a|b

我正在创建计算 a+b、ab、a & b 或 a | 之一的 verilog 模块。湾。

问题是它确实计算了 a+b 和 ab。但它不能计算 a & b 和 a | b 并且什么也不返回。

该模块基本上计算 a+b、ab、a&b 和 a|b 并将其计算值分配给 z。

它确实成功地计算了 a+b 和 ab 并将计算值放入 z。

但是对于 a&b 和 a|b,它不会为 z 分配任何东西。

我该如何解决这个问题?

如果你能帮助我,非常感谢。

0 投票
1 回答
2628 浏览

verilog - ALU 的 Verilog 模块,但不能正常工作

我正在尝试为verilog写下ALU。我遇到了几个错误。

首先,这是我的代码:

yAlu.v 使用以下内容:

最后在 yMux 上面使用以下内容:

这是它在 yAlu 上测试的内容:

我的问题顺序如下:

上面的代码只适用于 0 和 1。它的作用不止于此。例如,在第二个源代码中,有

a = $随机; b = $随机;

它不适合这个。它仅在 a=1 或 0 和 b=1 或 0 时有效。

我不确定“slt”功能是否正常工作。教这个的老师从来没有告诉我 slt 在讲座中做了什么,而是让我们通过谷歌搜索或其他方式设计 slt。

每当我编译时,我都会收到以下错误。为什么是这样?

我什至不知道我做得对。指导我做它所说的手册没有足够的解释,也没有样本输出。

反正我没能及时完成,所以我想这没关系,但我想我必须知道我的问题的解决方案。

如果你能帮助我,非常感谢。

0 投票
2 回答
112 浏览

verilog - 基于 clk 的值更改不适用于随机数

每当“clk”更改为“1”时,我正在编码将“d”的值放入“z”。

例如,

只要 clk 为“1”,它就会将“d”的值放入“z”。

所以下面是对随机数重复 20 次的代码。

我得到的输出:

此输出的第 6 行需要为“2223298057”,但即使其 clk 设置为“1”,仍具有先前的“z”值。

我怎样才能解决这个问题?

0 投票
1 回答
294 浏览

verilog - Verilog Oracle,预期值无法正常工作

我正在解决以下源代码的一些问题。我正在创建将预期值与我得到的实际值进行比较的预言机。我尝试计算的期望值是变量“e”。我得到的实际值是变量'z'。

所以,当'e===z'时,变量'ok'应该是'1'。但即使 'e===z' 为真,它也不会将 'ok' 设置为 '1'。

这是源代码。

这是示例输出

如您所见,它表明其中一些确实具有相同的“z”和“预期”值。但是'ok'总是设置为'0'。即使我将其编码为在它们相同时设置为 1。

这是我不知道的。请帮帮我,谢谢。

0 投票
1 回答
1202 浏览

verilog - 如何使用verilog制作一个通用的NxM签名数组乘法器?

我以前做过 8 位 x 8 位,但它不是通用的。我不知道如何调整代码以使其成为 NxM 位。谁能帮我?

0 投票
1 回答
387 浏览

verilog - 当我在 VCS 中编译得到正确输出但在 IVL 中编译得到不同输出时的 Verilog 程序

我真的很困惑。

我做了verilog编程并在VCS中编译和执行。它在预期的时钟周期内给出正确的值。

当我运行它时,它是 ivl32,它给出的值略有不同。

我完全糊涂了。

有人能告诉我会是什么问题吗?

0 投票
2 回答
1711 浏览

verilog - 为具有 1000 个样本值的输入查找单个最大值的 verilog 代码

我想为具有 1000 个十进制值的输入信号找到单个最大值,该值在每个正 clk 边缘从内存中读取一次。我执行了以下粗略代码来查找最大值,但它没有给我正确的最大值/number 请帮助我,这样我就可以在这 1000 个输入信号值中找到一个最大值..`提前致谢

0 投票
1 回答
4189 浏览

task - 如何从 Verilog 中的单独模块调用任务?

我是 Verilog 的新手,如果有人可以帮助我,我将不胜感激。

我有一个任务写在一个单独的文件中 - “task.v”:

我有一个调用此任务的模块:

当我执行这个时,我得到这个错误:

模块定义 task_create 不能嵌套到模块 tb

当我删除 task.v 中的模块和 endmodule 时,我收到此错误:

任务必须包含在模块中

我哪里错了?太感谢了!

0 投票
2 回答
13004 浏览

arrays - 如何使用变量作为索引访问数组元素?

我正在尝试使用输入作为索引访问数组中的元素,但我不断收到此错误:

cache.v:27:错误:数组“tagc”索引在此上下文中必须是常量。

这是我正在尝试的方法:

tagc 是 1024 个 reg 的数组;index 是 10 位输入;tag 是一个 20 位的输入。

有没有办法做到这一点?

0 投票
2 回答
3338 浏览

verilog - Verilog error : A reference to a wire or reg is not allowed in a constant expression

I'm new to Verilog and I would really appreciate it if someone could help me out with this error:

The error I get is:

error: A reference to a wire or reg ('x') is not allowed in a constant expression.
error: Array index expressions must be constant here.
error: A reference to a wire or reg ('imageX') is not allowed in a constant expression.
error: Array index expressions must be constant here.
error: A reference to a wire or reg ('kernelX') is not allowed in a constant expression.
error: Array index expressions must be constant here.

Could somebody tell me what I'm doing wrong? Thank you!