HDLBits刷题网站错误总结(持续更新)

本文分享了在HDLBits网站学习过程中的一些关键点,包括assign语句的使用限制、异或与同或的区别、Verilog语法中常见的标点符号错误、模块连接的正确方式以及在实例化过程中可能遇到的典型错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明:本篇文章为杂谈,HDLBits网站里面的每道题(如有必要)会单独写一篇blog供大家参考。
HDLBits网址 https://hdlbits.01xz.net/wiki/Vector1

1、assign 语句是不能用非阻塞语句赋值的 ,只有reg才可以用非阻塞语句赋值,但是assign既可以给wire型变量赋值也可以给reg型变量赋值

2、异或和同或的一个简单辨析方法,一般我们都是先学习异或,而且异或用的比较多,所以异或是^,同或是异或的非,所以同或是~ ^。

3、在这里插入图片描述
注意图中圈出的绿色的3,并不是表示a的第三位和b的第三位,这里面的3再加一个小斜杠 / 表示总线的意思

4、有关于中文标点符号和英文标点符号的报错(经常犯的错误)
在这里插入图片描述
看到这种报错就应该检查自己是否输入法没有切换,导致某些逗号和分号使用的是中文的,这种错误最隐蔽。

5、底层与顶层使用位置连接时的错误
正确连接方法:

module top_module ( 
    input a, 
    input b, 
    input c,
    input d,
    output out1,
    output out2
);
    mod_a instance1(out1,out2,a,b,c,d);
endmodule

错误连接方法

module top_module ( 
    input a, 
    input b, 
    input c,
    input d,
    output out1,
    output out2
);
    mod_a instance1(.out1,.out2,.a,.b,.c,.d);
endmodule

观察下面这两句话就能发现异同mod_a instance1(out1,out2,a,b,c,d);mod_a instance1(.out1,.out2,.a,.b,.c,.d); 一个有. 一个没 .

6、在刷题的过程中遇到了这样一个错误Error (10267): Verilog HDL Module Instantiation error at top_module.v(8): cannot connect instance ports both by order and by name.
原来是我复制时不小心把例化代码复制成了下面这样my_dff8 instance1(,.d(d),.clk(clk),.q(wir1)); 多了一个逗号,导致例化的不正确,可见Error(10267)这个错误是专门针对例化错误的,要记住,如果报了这个点的错误记着检查下自己例化过程的正确性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值