verilog 中的线方程

发布于 2024-08-18 17:12:18 字数 170 浏览 8 评论 0原文

如果说我有以下电线设置,那么电线分配都有效吗?

wire[3:1] w;
wire w1;
wire [1:0] w2;

A) w1 = w[2];    
B) w2 = w[1:0];  
C) w2 = w[1:2];

我猜一切都是有效的......

If say I have the following wire set-ups, is the wire assignment all valid?

wire[3:1] w;
wire w1;
wire [1:0] w2;

A) w1 = w[2];    
B) w2 = w[1:0];  
C) w2 = w[1:2];

I am guessing that everything is valid....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云醉月微眠 2024-08-25 17:12:18

别猜了。尝试自己编译代码。 A 和 B 是合法语法。根据我尝试过的模拟器(VCS 和 NC-Verilog),C 是非法语法,假设您的意思是:

assign w2 = w[1:2];

编译错误消息将类似于“非法部分选择范围”。

在 IEEE Verilog 标准 (Std 1364-2005) 的第 5.2.1 节“向量位选择和部分选择寻址”中,规定第一个数字必须比第二个数字寻址更高的有效位。

Don't guess. Try to compile the code for yourself. A and B are legal syntax. C is illegal syntax, according to the simulators I tried (VCS and NC-Verilog), assuming you mean:

assign w2 = w[1:2];

The compile error message will be something like "Illegal part select range".

In the IEEE Standard for Verilog (Std 1364-2005), section 5.2.1 "Vector bit-select and part-select addressing", it is stated that the 1st number must address a more significant bit than the 2nd number.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文