欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《模块测试》PPT课件.ppt

    • 资源ID:5536619       资源大小:207KB        全文页数:25页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《模块测试》PPT课件.ppt

    Verilog HDL语法和设计进阶-仿真测试武 斌,综合与仿真的关系,行为仿真:行为的合理性和算法验证逻辑功能前仿真:RTL级仿真逻辑综合:把RTL级模块转换成门级 综合后仿真:用门级模型做验证布局布线:在门级模型基础上加了布线延时布局布线后仿真:与真实电路最接近的验证,Verilog模块的种类和用途,行为模块:Verilog HDL虚电路模块,在仿真时其功能与实体逻辑电路完全一致,用于产生或接受测试信号和数据,验证设计电路各部分的功能指标分配是否合理,但并没有生成实际电路Verilog HDL测试模块:用Verilog HDL描述的模块,可以用来产生测试信号序列并可以接收被测试模块的信号,用于验证所设计的模块是否能正常运行往往不可综合成具体门级电路。,结构级转变为行为级,module muxtwo(out,a,b,sl);input a,b,sl;output out;not u1(ns1,sl);and#1 u2(sela,a,nsl);and#1 u3(selb,b,sl);or#2 u4(out,sela,selb);endmodule,out,Verilog HDL模块的测试,仿真用的 Verilog 模块,1.虚拟形式的 Verilog 模块 激励模块虚拟外设模块(rom,ram,接口等)这部分逻辑不用综合成电路,但为了验证我们的设计其行为必须与真实器件完全一致。2.实例模块,实例调用,建立时钟,reg clk;initial begin clk=0;#(period)forever#(period/2)clk=!clk;end,reg clk;always begin#period/2 clk=0;#period/2 clk=1;end,建立信号,reg 7:0 ain,bin;reg clock;initial begin clock=0;ain=0;bin=3;end always#5 clock=clock;always(posedge clock)begin ain=ain+2;bin=bin+5;end,建立强制激励,initial begin#10 assign q=1;#20 deassign q;end,initial begin#10 force q=0;#20 release q;end,在以上两个例子中,在10到20 这个时间段内,信号被强制赋值,而别处对该变量的赋值均无效。force的赋值优先级高于assign。如果先使用assign,再使用force对同一信号赋值,则信号的值为force所赋 的值,加法器测试模块,timescale 10ns/1nsinclude“myadder.v”module test;wire 8:0 sumout;reg 7:0 ain,bin;reg clock;initial begin clock=0;ain=0;bin=3;end always#5 clock=clock;,always(posedge clock)begin ain=ain+2;bin=bin+5;endmyadder myadder1(.clk(clock),.a(ain),.b(bin),.sum(sumout);endmodule,仿真波形,2,6,4,8,3,8,13,10,0,28,23,18,3,10,17,38,31,24,存储器建模 ROM,timescale 1ns/10ps module myrom(read_data,addr,read_en_);input read_en_;input 3:0 addr;output 3:0 read_data;reg 3:0 read_data;reg 3:0 mem 0:15;initial$readmemb(“my_rom_data”,mem);always(addr or read_en_)if(!read_en_)read_data=memaddr;endmodule,my_rom_data 0000 0101 1100 0011 1101 0010 0011 1111 1000 1001 1000 0001 1101 1010 0001 1101,存储器建模 RAM,timescale 1ns/1ns module ram(data,addr,ena,read,write);inout 7:0 data;input 9:0 addr;input ena,read,write;reg 7:0 ram8 hff:0;assign#20 data=(read end endmoduleRAM模型比ROM模型稍微复杂:它必须具有双向总线实现读写能力;,存储器的加载,使用循环把值赋给存储器数组。for(i=0;imemsize;i=i+i)/initialize memory memai=wordsize1b1;调用$readmem系统任务。/从文件 mem_file.txt 中,把初始数据存入存储器(mem)的每个单元$readmemb(“mem_file.txt”,mem);注意:上面两项必须写 在initial 块中,加载这些初始化数据不需要时间。,激励源的 Verilog 模块,timescale 1ns/1nsdefine timeslice 200module sigs(ack,clock,read,write,addr,data);input ack;output clock,read,write;output 15:0 addr;inout 7:0 data;reg clock,read,write;reg 15:0 addr;reg w_r;/used to record if read or writereg 7:0 DataToRam;/used to stack the dataassign#10 data=(w_r)?hzz:DataToRam;initial begin clock=0;w_r=0;DataToRam=0;,addr=16 h 0000;end always#(timeslice/2)clock=clock;always(posedge ack)if(w_r=0)begin#(5*timeslice)write=1;#(timeslice)write=0;endelse begin#(5*timeslice)read=1;#(timeslice)read=0;end always(posedge ack)begin DataToRam=DataToRam+2;addr=addr+1;endendmodule 从被测试模块输出的 ack 信号逐一发出读/写、地址、数据至被测试模块,顶层测试 Verilog 模块,timescale 1ns/1nsinclude 可综合模块.v.include 外围电路.v.include 激励信号.v.module top;wire 连线定义.Reg 初试化块中寄存器定义.initial begin 定义波形记录、输入数据文件、记录输出文件、监视重要信号、记录重要时刻、设置仿真时间等。end,顶层测试 Verilog 模块,/信号模块 xh1(.clock(clk),.reset(rst),.ack(ackn).);./可综合模块 mysj1(.clock(clk),reset(rst),.ack(ackn).);./外围模块 ram1(.read(rd),.write(wrt),.data(databus).);.endmodule,仿真和综合工具概述,常用的仿真工具:-Verilog-XL-NC-Verilog-ModelSim-VeriBest-ViewLogic-.,常用的综合工具:-Synplify-Exemplar-Synopsys Express-Synopsys Designer-.,设计示例-仿真,把本模块产生的测试信号data、clock、clearb,输入实例reg_4bit以观察输出信号qout检查设计正确与否。实例reg_4bit引用了第五章例子hardreg;,timescale 10ns/1nsinclude“hardreg.v”module hardreg_top;reg clock,clearb;reg 3:0 data;wire 3:0 qout;define STIM#100 data=4b/宏定义 stim,可使源程序简洁event end_first_pass;/定义事件end_first_passinitial begin clock=0;clearb=1;end,设计示例三(续),initial begin stim 0000;/宏定义stim引用 stim 0001;.stim 1111;endalways#50 clock=clock;#200 end_first_pass;/延迟200个单位时间,触发事件$finish;/结束仿真hardreg reg_4bit(.d(data),.clk(clock),.clrb(clearb),.q(qout);endmodule,仿真时序,仿真时序,

    注意事项

    本文(《模块测试》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开