第七讲 模块测试

上传人:yx****d 文档编号:243299082 上传时间:2024-09-20 格式:PPT 页数:25 大小:229KB
返回 下载 相关 举报
第七讲 模块测试_第1页
第1页 / 共25页
第七讲 模块测试_第2页
第2页 / 共25页
第七讲 模块测试_第3页
第3页 / 共25页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Verilog HDL,语法和,设计,进阶,-,仿真测试,武 斌,1,综合与仿真的关系,行为仿真,:,行为的合理性和算法验证,逻辑功能前仿真:,RTL,级仿真,逻辑综合,:,把,RTL,级模块转换成门级,综合后仿真,:,用门级模型做验证,布局布线,:,在门级模型基础上加了布线延时,布局布线后仿真:,与真实电路最接近的验证,2,Verilog,模块的种类和用途,行为模块:,Verilog HDL,虚电路,模块,,在仿真时其功能与实体逻辑电路完全一致,用于,产生,或接受,测试信号和数据,,验证,设计电路,各部分的功能指标分配是否合理,,但并没有生成,实际电路,Verilog HDL,测试模块,:,用,Verilog HDL,描述的模块,可以用来产生测试信号序列并可以接收被测试模块的信号,用于验证所设计的模块是否能正常运行往往不可综合成具体门级电路。,3,结构级转变为行为级,module mu,x,two,(,o,ut,a, b,s,l,);,input,a,b,sl;,output,o,ut,;,not u1(ns1, sl);,and #1 u2(sela, a, nsl);,and #1 u3 (selb, b, sl);,or #2 u4(out,sela,selb);,endmodule,out,a,b,sl,selb,sela,nsl,U1,U2,U3,U4,4,Verilog HDL,模块,的,测试,被测模块,激励和控制信号,输出响应和验证,5,仿真用,的 Verilog,模块,1.,虚拟,形式的 Verilog 模块,激励模块,虚拟外设模块(,rom,ram,接口等),这部分逻辑不用综合成电路,但为了验证我们的设计其行为必须与真实器件完全一致。,2.,实例模块,实例调用,6,建立时钟,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,7,建立信号,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,8,建立强制激励,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,所赋 的值,9,加法器测试模块,timescale 10ns/1ns,include “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;,end,m,yadder myadder1,(,.,clk,(,clock),.,a,(ain),.,b,(bin),.sum(sumout),);,endmodule,10,仿真波形,2,6,4,8,3,8,13,10,0,28,23,18,3,10,17,38,31,24,11,存储器建模,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,12,存储器建模,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 ,always (posedge write),begin #10 ramaddr = data; end,endmodule,RAM,模型比,ROM,模型稍微复杂:,它必须具有双向总线实现读写能力;,13,存储器的加载,使用循环把值赋给存储器数组,。,for(i=0;i end_first_pass;/,延迟200个单位时间,触发事件,$finish;/,结束仿真,hardreg reg_4bit(.d(data),.clk(clock), .clrb(clearb), .q(qout);,endmodule,20,仿真时序,21,仿真时序,22,23,24,25,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!