module jishuqi10(CLK,rst,en,load,cout,dout,data);
input CLK,rst,en,load;
input [3:0]data;
output [3:0]dout;
output cout;
reg [3:0]q1;
reg cout;
assign dout=q1;
always @(posedge CLK or negedge rst)
begin
if(!rst)
begin
q1<=0;
end
else if(en)begin
if(!load)
q1<=data;
else if(q1<9)
q1<=q1+1;
else
q1<=0;
end
end
always @(q1)
begin
if(q1==4'h9)
cout=1'b1;
else
cout=0;
end
endmodule
用modesim仿真时 先调节各个输入信号的值 一般来说先用复位让数据复位一下 然后再调节相应信号让数据进行变化比较
对应的testbech编写
`timescale 1 ns/ 1 ps
module jishuqi10_TB();
reg CLK;
reg en;
reg load;
reg rst;
reg [3:0]data;
wire [3:0]dout;
wire cout;
jishuqi10 ujishuqi10(
.CLK (CLK),
.en (en),
.rst (rst),
.data (data),
.dout (dout),
.load (load),
.cout (cout)
);
initial
begin
CLK<=1'b0;
en<=1'b0;
load<=1;
rst<=0;
#20 rst<=1;
#20 en<=1;
data<=4'b0011;
#200 load<=0;
#20 load<=1;
end
always @(*)
begin
#10 CLK<=~CLK;
end
endmodule
在写完tb后 打开settings--simulation--compile test bench--test benches--new--填写testbench名字--勾选use test bench to perform--end simulation at 设置仿真结束时间--添加testbench文件--ok
FPGA掉电保护程序(上电直接执行所指程序)
1file--convert programing files-- programing files type变成jic文件--configuration device 改成自己板子的掉电保护(v2是epcs16)--add device 改成自己板子的型号--add file添加自己的sof--点击ok
2在下载程序时候--删除原有程序 delete--add file添加刚才的jic--把program/configure 打勾 --然后下载即可