
reg a2,a1,a0,b2,b1,b0//被测模块的input端口,改为对应的 reg寄存器做输入信号
wire p5,p4,p3,p2,p1,p0//被测模块的output端口,改为对应的wire型
initial begin // 初始化所有 输入信号的寄存器值
a2= 0
a1=0
a0 =0
b2 =0
b1= 0
b0 =0
#50 //一般延缓大迟较长时间后,应该使复位信号不复位系统正常工作,但你没有复位信号
end
// 初始化模块结束后一般时序电路仿真是产生时清哪型钟信号,
//这是纯组合逻辑没有时钟信号就省略了
//然后就可以根据你所需要验证的功能在此位置编写initial块或always块给reg 型
//的输入信号赋值的相关逻辑,观察wire型输入信号的值
//---------------------------调用被测对象,格式如一般元件调用-------------------
mul3 DUT( .a2(a2),
.a1(a2),
.a0(a0),
.b2(b2),
.b1(b2),
.b0(b0),
.p5(p5),
.p4(p4),
.p3(p3),
.p2(p2),
.p1(p1),
.p0(p0)
)
endmodule
// 最后的提示,你的程序里定义了整答猜数型变量,其实是不好的用法,甚至不能被正确综合,
//可以用等值的reg 型变量来替代,即使你定义成整数型,实际上也是被综合成reg型的,
//另外,一般可综合代码中最好不要用for语句,个人认为你的代码会完全功能不正常的
1. 功能仿真 ( 前仿真 )功能仿真是指在一个设计中, 在设计实现前对所创建的逻辑进行的验证其功能是否正确的过程。
布局布线以前的仿真都称作功能仿真, 它包括综合前仿真( Pre-Synthesis Simulation )和综合后仿真( Post-Synthesis Simulation )。 综合前仿真主要针对基于原理框图的设计 综合后仿真既适合原理图设计 , 也适合基于 HDL 语言的设计。
2. 时序仿真(后仿真)
时序仿真使用布局布线后器件给出的模块和连线的延时信息, 在最坏的情况下对电路的行为作出实际猛扒圆地估价。 时序仿真使用的仿真器和功能仿真使用的仿真器是相同的, 所需的流程和激励也是相同的; 惟一枝塌的差别是为时序仿真加载到仿真器的设计包括基于实际布局布线设计的最坏情况的布局布线延时, 并且在仿真结果波形图中,时序仿真后的信号加载了时延,而功能仿真没此饥有。
50Mhz,时钟周期山指20ns,延迟一逗袭配拍即可禅慎。module clk(start,clk_in,clk_out) //clk_in为输入时钟,Start为开始信号
input start,clk_in
output clk_out
reg clk_out
reg clk_out_r
always @(posedge clk_in)
begin
if(!start)
begin
clk_out <= 0
clk_out_r <= 0
end
else
begin
clk_out_r <= ~clk_out_r
clk_out <= clk_out_r
end
end
endmodule
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)