FPGA初学者__个人学习笔记(一)

简介

在学习FPGA时,整理的一些问题,慢慢积累,期待自己的进步。
个人邮箱: [email protected]
欢迎交流!

笔记

  • 组合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

你可能感兴趣的:(FPGA学习笔记)