前仿真和后仿真
来源:互联网 发布:陈绮贞太阳知乎 编辑:程序博客网 时间:2024/06/11 18:51
作者:李秋凤,华清远见嵌入式学院讲师。
仿真可以分为前仿真和后仿真,前仿真是功能仿真,目标是分析电路的逻辑关系的正确性,仿真速度快,可以根据需要观察电路输入输出端口和电路内部任一信号和寄存器的波形,后仿真是将电路的门延迟参数和各种电路单元之间的连线情况考虑在内后进行仿真,得到的仿真结果接近真实的应用情况,后仿真的速度相对于前仿真慢得多,在观测内部节点波形时比较困难,在一个完整的电路设计中应该包括这两个过程。
下面是简单的数字电路,代码及综合后的RTL网表如下:
`timescale 1ns/1ps
module ml(clk,in1,in2,in3,out);
input clk;
input in1,in2,in3;
output out;
wire w1,w2;
reg d1,d2;
assign w1=~(in1&in2);
always@(posedge clk)
d1<=w1;
assign w2=~d1;
always@(posedge clk)
d2<=w2;
assign out= d2^in3;
endmodule
分析上面代码可以看出,上面只是反映的是逻辑功能,实际上,每个门电路都有工作延时,如果考虑到工作延时,则代码需要进行修改,修改后的代码更能反映电路的实际工作情况
`timescale 1ns/1ps
module ml(clk,in1,in2,in3,out);
input clk;
input in1,in2,in3;
output out;
wire w1,w2;
reg d1,d2;
parameter delay1=1,delay2=2;
assign # delay1 w1=~(in1&in2);
always@(posedge clk)
d1<= # delay2 w1;
assign # delay1 w2=~d1;
always@(posedge clk)
d2<= # delay2 w2;
assign # delay1 out= d2^in3;
endmodule
这段代码中定义了两个延时参数,分别对应组合逻辑的门延时和寄存器的传输延时,这里的延时与真正的门延时在具体数值上是不同的,但是这种每次赋值操作时都加入延时的方法有助于对电路后仿真时可能的延时情况给出定性分析的结果。
- 前仿真和后仿真
- FPGA仿真--前仿真和后仿真
- FPGA仿真--前仿真和后仿真
- Quartus ii与 Modelsim结合进行前仿真和后仿
- 仿真
- 仿真
- modelsim_altera6.5时序仿真后仿真
- FPGA功能仿真,门级仿真,后仿真的区别
- Verilog语法_5(状态机、modelsim自动化仿真高级部分和后仿真)
- ModelSim-Altera功能仿真和时序仿真
- 使用ModelSim作前仿真與後仿真
- 模拟和仿真
- 系统、模型和仿真
- Mutlisim和Proteus仿真
- 模拟和仿真的区别
- matlab和modelsim联合仿真
- ADAMS 和Matlab 联合仿真
- ise和modelsim联合仿真
- 张本伟:IT人如何收入500万?
- FS2410开发板上的按键驱动程序(2-1)
- C++ const成员函数小结
- 遮罩全解
- The PE file format
- 前仿真和后仿真
- 如何增强Visual Studio的易用性
- 在Ogre中播放AVI
- SQL 查询语句优化
- 一道Tencent面试题
- C语言编译器的预定义符号
- 有关ecos设备表入口DEVTAB_ENTRY分析
- 丰胸精油的按摩手法和最佳按摩时间
- 两个常用C字符串分割函数