有没有EDA高手帮一下忙,把下面的程序解释一下,要详细些。每一行添加注释。先谢谢了
module contr_1(lod,clk,aq,qa,d); //模块开始
input[7:0] aq; //输入单字节aq
input clk; //输入时钟信号
output reg[7:0] qa; //输出8为寄存器类型
output reg[11:0]d; //输出12位寄存器类型
output reg lod; //输出寄存器类型
reg [1:0] qc; //2为寄存器类型qc
initial begin qa='h19;d='b001100001100;end //初始化 qa、d
always @(negedge clk ) // 时钟下降沿执行本alway下面的语句
begin if (aq==0) lod=0; //
else lod=1; end //结束本进程
always @(negedge lod ) //LOD下降沿执行本alway下面的语句
begin qc=qc+1; //得到qc的值
case (qc) //执行CASE语句
0 :begin qa='h19;d='b001100001100;end //qc=0
1 :begin qa='h03;d='b010100010100;end //qc=1
2 :begin qa='h09;d='b100001100001;end //qc=2
3 :begin qa='h03;d='b100010100010;end //qc=3
default :qa='h00; 其他值
endcase //结束case
end //结束本进程
endmodule //结束模块