下载此文档

补充内容.ppt


文档分类:中学教育 | 页数:约43页 举报非法文档有奖
1/43
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/43 下载此文档
文档列表 文档介绍
?Testbench?工艺离散性的克服?电阻离散的影响?电容离散的影响?频率离散的校正?模拟IC低功耗设计技术浙大微电子2/41Testbench Testbench更像一个激励的产生器,对所设计的输入管脚产生相应的输入值(0或者1)系列,也叫“测试矢量”,通过观察输出值来评估设计的正确性。Testbench 的工作就是把这些不同的输入值(测试矢量)加载到所设计的电路中。abctest00010011010101111000101011001111设计模块:test=~a|b&c; 浙大微电子3Testbench生成方式 ,画高低电平形成testbench。,按照一定规则写testbench。浙大微电子4/41画testbench输出结果设计模块:test=~a|b&c; 浙大微电子5/41写testbench`timescale 1ns/10psmodule top_test();reg a_test, b_test, c_test; test test (.a(a_test), .b(b_test), .c(c_test), .test(test_out)); //调用设计模块initial begin a_test=0; b_test=0;c_test=0; //初始化#(100) begin a_test=0; b_test=0;c_test=1;end //每100ns赋值一次#(100) begin a_test=0; b_test=1;c_test=0;end#(100) begin a_test=0; b_test=1;c_test=1;end#(100) begin a_test=1; b_test=0;c_test=0;end#(100) begin a_test=1; b_test=0;c_test=1;end#(100) begin a_test=1; b_test=1;c_test=0;end#(100) begin a_test=1; b_test=1;c_test=1;end#(100) $stop;endendmodule设计模块:test=~a|b&c; 浙大微电子6/`timescale 1ns/10ps 2. 定义模块,不需要输入输出端口列表,因为testbench只是产生激励它本身没有输入输出。 module top_test();…… ?将与待测模块(DUT, Design Under Test)输入相连的信号定义为reg类型。reg a_test, b_test, c_test; ?将与DUT输出相连的信号定义为wire类型,单比特的输出信号可以不定义,默认就是1 bit 的wire 类型信号。wire out_signal1, out_signal2,…., out_signalN;空的浙大微电子7/ DUT_Instance_Name(input1,input 2,…,output1); 5. 初始化reg类型信号 initial begin clk=0; in_signal1=0;……//在这里添加其他reg类型变量的初始化值 always #10 clk=~clk; //产生一个周期为20ns的时钟名称可以一样浙大微电子8/ initial //initial块是并行执行 begin #100 en=1; //仿真开始100ns后en赋值为1 # 200 in_signal1=1;//再过200ns ,in_signal1赋为1…… # 10000000 $stop;//仿真停止,$finish为仿真结束 end浙大微电子9/41Testbench扩展::$:$readmemh(16进制), $readmemb(2进制):$:$fmonitor(有变化就写), $fdisplay(固定周期写)5. 关闭文件:$(VCD是一种记录仿真中信号跳变的数据格式,主要用作功耗分析

补充内容 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数43
  • 收藏数0 收藏
  • 顶次数0
  • 上传人薄荷牛奶
  • 文件大小2.89 MB
  • 时间2016-11-07