目前是使用spartan6的开发板结合chipscope进行代码编写和仿真,结果在一个小模块的仿真时需要用到ISim进行功能仿真,竟然发现已经不太会写testbench了,尴尬。。。决定摸索一番,顺便写下这篇文章。
用一个小例子结合起来介绍:
功能描述:设计一个可以自行设定初始值的计数器cnt(一般从0开始计数),不需要硬件复位,采用模块内部软件信号temp复位。
代码如下所示:
module demo(clk,cnt
);
input clk;
output reg [4:0] cnt;
reg temp;
always@(posedge clk)
begin
if(temp!=1’b1) //—-temp为0,则将temp定义为1,并初始化计数器值为4
begin
temp<=1’b1;
cnt<=5’d4;
end
else
if(cnt<5’d30)
cnt<=cnt+1;
else
cnt<=5’d4;
end
endmodule
从建立工程开始,直接上图:
1.建立工程,写一个有意义的名字: