VerilogHDL负责数字电路设计(AI助学版)课件_第1页
VerilogHDL负责数字电路设计(AI助学版)课件_第2页
VerilogHDL负责数字电路设计(AI助学版)课件_第3页
VerilogHDL负责数字电路设计(AI助学版)课件_第4页
VerilogHDL负责数字电路设计(AI助学版)课件_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

13.1门延时上升延迟:门的输入发生变化的情况下,门的输出从0,x,z变化为1所需的时间称为上升延迟13.1.1上升、下降和关断延迟下降延迟:下降延迟是指门的输出从1,x,z变化位0所需的时间关断延迟:关断延迟是指门的输出从0,1,x变化为高阻z所需的时间从0、1或z值变化到不确定值x,则所需的时间是以上三种延迟值中最小的那个值在VerilogHDL中,使用三种不同的方法说明门的延迟:如果只指定了一种延迟值,所有类型的延迟部都用这个延迟值指定了两个延迟值,则它们代表上升延迟和下降延迟,两者中的小者为关断延迟指定了三个延迟值,则它们分别代表上升延迟、下降延迟和关断延迟未指定延迟值,那么默认延迟值为0and#(delay_time)a1(out,i1,i2);//给出了一种延时and#(rise_val,fall_val)a2(out,i1,i2);//给出了两种延时bufif0#(rise_val,fall_val,turnoff_val)b1(out,in,control);//三种延时and#(5)a1(out,i1,i2);//所有延时均为5and#(4,6)a2(out,i1,i2);//上升延时为4,下降延时为6,关断延时为4bufif0#(3,4,5)b1(out,in,control);//上升延时为3,下降延时为4,关断延时为5对每种类型的延迟还可以指定其最小值、最大值和典型值。在仿真一开始时就决定选择使用哪一种延迟值(最小值/最大值/典型值)。延时与集成电路制造工艺有关,真实的器件延迟总是在最大值和最小值之间的范围内变化,在建立器件模型时要确定器件延迟的最小值/最大值/典型值。三种延迟值与器件实际工作的环境相关联,器件工作环境是指环境温度和供电电压两个指标。三种延迟值具体定义为:最小值:电压为最高值、温度为最低值,器件所对应的延时典型值:电压为标称值、温度为常温值,器件所对应的延时最大值:电压为最低值、温度为最高值,器件所对应的延时13.1.2最小/典型/最大延迟利用CANDENCE公司的Verilog-XL仿真器进行后仿真时,用户可以使用选项+maxdelays,+typdelays和+mindelays选择延时的值。通过这种方法,VerilogHDL用户可以灵活地对设计中的各种类型的延迟(上升/下降/关断)使用三个不同的具体数值,不必修改设计就可以使用不同的延迟值进行仿真。//一个延迟//若最小延迟=4//若典型延迟=5//若最大延迟=6and#(4:5:6)a1(out,i1,i2);//两个延迟//若最小延迟,上升延迟=3,下降延迟=5,关断延迟=min(3,5)//若典型延迟,上升延迟=4,下降延迟=6,关断延迟=min(4,6)//若最大延迟,上升延迟=5,下降延迟=7,关断延迟=min(5,7)and#(3:4:5,5:6:7)a2(out,i1,i2);//三个延迟//若最小延迟,上升延迟=2,下降延迟=3,关断延迟=4//若典型延迟,上升延迟=3,下降延迟=4,关断延迟=5//若最大延迟,上升延迟=4,下降延迟=5,关断延迟=6and#(2:3:4,3:4:5,4:5:6)a3(out,i1,i2);后仿真就是已经对网表电路进行了物理实现,提取了实际电路的延时参数,延时参数包含了这些延时信息。利用Verilog-XL仿真器进行电路的后仿真时的调用方法,假定测试文件为test_bench.v。例如://启动仿真器,使用最大延时进行仿真verilogtest_bench.v+maxdelays//启动仿真器,使用典型延时进行仿真verilogtest_bench.v+typdelays//启动仿真器,使用最小延时进行仿真verilogtest_bench.v+mindelays13.1.3门延时表达赋值语句中的延迟用于控制任一操作数发生变化到语句左值被赋予新值之间的时间间隔。指定赋值延迟的方法有三种:普通赋值延迟隐式赋值延迟线网声明延迟普通赋值延迟普通赋值延迟是在连续赋值语句中说明延迟值,延迟值位于assign的后面,如:assign#10out=in1&in2;赋值延迟也可以用always语句进行描述,如:always@(*)#10out=in1&in2;赋值延迟也可以在门级原实例化调用时进行描述,如:and#10a1(out,in1,in2);当in1和in2在时间单位20处变为高电平时,out在10个时间单位之后(即时间单位为30处)变为高电平当in1在时间单位60处变为低电平时,out在时间单位70处变为低电平in1在时间单位80处变为高电平,但是在10个时间单位之内重新变为低电平在时间单位80之后再过10个时间单位,重新计算表达式,此时in1的值已经为0,因此out的值仍然为0隐式连续赋值延迟隐式连续赋值延迟等效于声明一个线网并且对其进行连续赋值和延迟wire#10out=in1&in2;等效于

wireout;assign#10out=in1&in2;

线网声明延迟在声明线网的时候指定一个延迟,这样对该线网的任何赋值都会被推迟指定的时间wire#10out;assignout=in1&in2;等于:wireout;assign#10out=in1&in2;

模块D实现以下的逻辑功能:

out=(a·b)+c其门级实现如模块D的逻辑图所示,包含了一个延迟时间为5个单位的与门和一个延迟时间为4个单位的或门13.1.4门延时举例moduleD(out,a,b,c);outputout;inputa,b,c;wiree;//门级建模and#(5)a1(e,a,b);or#(4)o1(out,e,c);//数据流建模assigne=#5a&b;assignout=#4e&c;endmodulemodulestimulus;regA,B,C;wireOUT;Dd1(OUT,A,B,C);initialbeginA=1'b0;B=1'b0;C=1'b0;#10A=1'b1;B=1'b1;C=1'b1;#10A=1'b1;B=1'b0;C=1'b0;#20$finish;endendmodule13.2互连线延时互连线就是器件之间的互连导线。导线是金属铝、铜、多晶或重掺杂的扩散层。互联线的模型可以等效为电容、电阻以及电感组成,因此,互连线具有延时的导线。与门延时一样,互连线也是工作在不同的环境,互连线延时也分为最大延时、典型延时和最小延时时钟线是一种特殊的互联线。如一个同步电路系统,时钟线Clk连接到所有的时序器件上可以想象,如果电路中的D触发器很多,Clk会出现驱动问题。通常采用时钟驱动器进行驱动,使原本一条时钟线变成一个时钟网络。使得时钟信号到底各个D触发器的时钟沿不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论