新人自学FPGA

2019-07-15 22:16发布

程序是一个四位二进制加法计数器:


times New Roman">moduleCNT4B(CLK,RST,ENA,CLK_1,RST_1,ENA_1,OUTY,COUT);//端口声明   

input CLK,RST,ENA;

output CLK_1,RST_1,ENA_1;

output[3:0] OUTY;

output COUT;

          reg[3:0] OUTY;

reg COUT;//寄存器变量OUTY,位宽为1

wire  CLK_1;

wire  RST_1;

wire  ENA_1;

assign CLK_1 = CLK;

assign RST_1 = RST;

assign ENA_1 = ENA;

      

always@(posedge CLKor negedge RST) /*CLK上升沿或者RST上升沿时,触发always模块执行*/



begin

       if(!RST)

              begin

              OUTY<=4'b0000;

              COUT<=1'b0;/*当复位信号等于0时,计数OUTYCOUT0*/

              end

       else

       if(ENA)/*当使能信号为1时,计数器计数工作*/

              begin

              OUTY<=OUTY+1;

              COUT<=OUTY[0] & OUTY[1] &OUTY[2] & OUTY[3];  /*计数显示*/

              end

end   

endmodule

红 {MOD}部分是不明白的地方,<=赋值的意思么?用等号可以么?还有COUT<=OUTY[0] & OUTY[1] & OUTY[2] & OUTY[3]这一句,用&号连接不是逻辑与么...买了自学课本的,没在手边,新人小白求问,先谢谢各位!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。