请分析如下所示的Verilog程序功能,并编写仿真测试程序
module reg8(input clk, input clrn, input wen, input [7:0] d, output [7:0] q);
reg [7:0] p;
always @(posedge clk or negedge clrn)
if(!clrn)
p<= 0;
else if (!wen)
p <= d;
assign q = p;
endmodule
程序的功能就是clrn为低的时候清零,当wen为低的时候写入数据,把d的信号写入给p,然后q输出当前p的内容。
测试程序的话可以看一下下面的例子,对于这个模块其实能体现出清零和写入的功能就可以
https://xinso.blog.csdn.net/article/details/105548775?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7EPayColumn-1-105548775-blog-96422293.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7EPayColumn-1-105548775-blog-96422293.pc_relevant_default&utm_relevant_index=1
感谢!