简介
在学习FPGA时,整理的一些问题,慢慢积累,期待自己的进步。
个人邮箱: 1149025224@qq.com
欢迎交流!
笔记
- 组合always块中用阻塞性,时序always块中用非阻塞性。
- assign out_assign = sel_b1? sel_b2? b: a:a; #四个条件,三个结果。11,10 . 01
,00。 - 组合电路输出必须在所有输入的情况下都有值,所以要给出所有输入情况,并给出所有对应条件下的输出。
- begin … end
中是顺序执行的。always块中是并行执行的。begin…end一般用在if…else和case语句中。另说begin…end相当于标志一段语句的起止。 - z的用法 4’bzzz1: out = 0; // in[3:1]输入什么都可以。
- case语句都写在always块内,并且在case语句开始之前写begin,在endcase后写end,保证case语句顺序执行,不会报错。
*示例代码*
always @(*) begin
casez (in[3:0])
4'bzzz1: out = 0; // in[3:1]输入什么都可以
4'bzz1z: out = 1;
4'bz1zz: out = 2;
4'b1zzz: out = 3;
default: out = 0;
endcase
end