基本输入输出函数实用教案_第1页
基本输入输出函数实用教案_第2页
基本输入输出函数实用教案_第3页
基本输入输出函数实用教案_第4页
基本输入输出函数实用教案_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、提纲(tgng) 基本input/output文件(wnjin) 测试程序(Testbenches) ASSERT语句第1页/共37页第一页,共38页。文件(wnjin)对象 VHDL的对象包括 信号 变量 常量 文件 通过(tnggu)引入文件类型,使得我们可以定义和使用文件对象第2页/共37页第二页,共38页。文件(wnjin)定义文件可以通过它所存储的内容(nirng)来进行区分type text 是字符串文件;type IntegerFileType 是整数型文件;VHDL 1987中的文件定义file infile: text is in “inputdata.txt”;file o

2、utfile: text is out “outputdata.txt”;VHDL 1993中的文件定义file infile: text open read_mode is “inputdata.txt”;file outfile: text open write_mode is “outputdata.txt”;第3页/共37页第三页,共38页。文件(wnjin)定义:二进制I/O文件(wnjin)(VHDL 1993)第4页/共37页第四页,共38页。文件(wnjin)定义:二进制I/O文件(wnjin)(VHDL 1993) VHDL支持read(f,value), write(f,

3、value)和 endfile(f)操作; VHDL 93支持File_Open()和File_Close()操作; 直接(zhji)和间接的文件打开操作;第5页/共37页第五页,共38页。文件(wnjin)定义:二进制I/O文件(wnjin)(VHDL 1987)第6页/共37页第六页,共38页。文件(wnjin)定义:二进制I/O文件(wnjin)(VHDL 1987) VHDL1987支持read(f,value), write(f, value)和 endfile(f)操作; 通过(tnggu)文件声明来间接地进行文件打开操作;第7页/共37页第七页,共38页。文件(wnjin)定义:

4、TEXTIO包第8页/共37页第八页,共38页。文件(wnjin)定义:TEXTIO包 文件是按行(lines)来组织的; Read()和write()子程序对line数据结构进行操作; Readline()和writeline()子程序和文件进行数据交换; 基于( jy)Text的 I/O操作; 在STD 库的TEXTIO包中封装了全部的操作子程序 从行( lines )中读取和写入预定义类型数据的子程序; 针对std_input and std_output的预定义访问操作; 子程序名的重载(Overloaded);第9页/共37页第九页,共38页。文件(wnjin)定义:TEXTIO包的

5、使用第10页/共37页第十页,共38页。文件(wnjin)定义:TEXTIO包的使用第11页/共37页第十一页,共38页。文件(wnjin)定义:TEXTIO包的使用第12页/共37页第十二页,共38页。文件定义:扩展TEXTIO支持(zhch)其他数据类型 对用户隐藏TEXTIO的ASCII格式; 针对(zhndu)所希望的数据类型的读和写,如, std_logic_vector ,提供类型转换子程序; 将子程序封装在包中; 将包( package)安装在库( library)中,然后通过use 子句使库中的内容可见;第13页/共37页第十三页,共38页。代码(di m)示例:类型转换第14

6、页/共37页第十四页,共38页。代码(di m)示例:类型转换第15页/共37页第十五页,共38页。代码(di m)示例:(Bhasker95) 输出格式定义(dngy): write (buf, “This is the header”); writeline (outfile,buf); write (buf, “Clk =”); write (buf, clk); write (buf, “, N1 =”); write (buf, N1); 输出结果: This is the header Clk = 0, N1 = 01001011第16页/共37页第十六页,共38页。代码(di m

7、)示例:(Bhasker95) 读入的格式化输入(shr)行:第17页/共37页第十七页,共38页。代码(di m)示例:(Bhasker95)读入该格式化输入(shr)行的程序:第18页/共37页第十八页,共38页。代码示例(shl):文件名的处理第19页/共37页第十九页,共38页。代码示例(shl):文件名的处理在上面的代码中假定( jidng)“input”映射到模拟器的控制台通常“input”和 “output”分别映射到标准输入和标准输出第20页/共37页第二十页,共38页。代码(di m)示例:测试模块第21页/共37页第二十一页,共38页。代码示例:测试(csh)模块第22页/

8、共37页第二十二页,共38页。代码(di m)示例:测试程序(Testbenches) 测试程序具有一定的通用性 基本策略是:施加测试激励,测量(cling)和记录响应矢量第23页/共37页第二十三页,共38页。代码(di m)示例:测试程序(Testbenches)测试程序产生周期性的时钟信号(xnho)并施加测矢量第24页/共37页第二十四页,共38页。代码(di m)示例:测试程序(Testbenches)第25页/共37页第二十五页,共38页。代码示例(shl):结构化测试模块第26页/共37页第二十六页,共38页。测试激励(jl)的生成 定义功能测试所需的激励矢量和参考矢量 激励源

9、局部常数阵列 I/O文件 时钟(shzhng)和复位信号的生成 通常与激励矢量相隔离 实现周期性的激励第27页/共37页第二十七页,共38页。测试激励的生成(shn chn):示例(Smith96)第28页/共37页第二十八页,共38页。测试激励(jl)的生成:示例(Smith96)第29页/共37页第二十九页,共38页。测试结果(ji gu)的确认(Validation)将测试(csh)响应矢量与参考矢量相比较,并在外部文件中记录其中不匹配的部分(出错点);同时需要记录出错点所对应的仿真时间点;可能需要记录仿真状态。第30页/共37页第三十页,共38页。断言(dunyn)(ASSERT) 将

10、测试响应矢量与参考矢量相比较,并在外部文件中记录其中不匹配的部分(出错点); 同时需要(xyo)记录出错点所对应的仿真时间点; 可能需要(xyo)记录仿真状态。第31页/共37页第三十一页,共38页。断言(dunyn)(ASSERT)assert Q = check(1) and Qbar = check(0)report “Test Vector Failed”severity error;仿真器控制台输出(shch)示例 Selected Top-Level: srbench (behavioral) : ERROR : Test Vector Failed : Time: 20 ns,

11、Iteration: 0, Instance: /T1. : ERROR : Test Vector Failed : Time: 100 ns, Iteration: 0, Instance: /T1.第32页/共37页第三十二页,共38页。断言(dunyn)(ASSERT)assert Q = check(1) and Qbar = check(0)report “Test Vector Failed”severity error;仿真器控制台输出(shch)示例 Selected Top-Level: srbench (behavioral) : ERROR : Test Vector

12、Failed : Time: 20 ns, Iteration: 0, Instance: /T1. : ERROR : Test Vector Failed : Time: 100 ns, Iteration: 0, Instance: /T1.第33页/共37页第三十三页,共38页。断言(dunyn)(ASSERT)设计者可以在预定义的级别上报告出错情况:NOTE,WARNING, ERROR and FAILURE (枚举类型)报告的参数是一个字符串,该字符串会写到仿真输出断言所对应的操作是仿真器相关(xinggun)的并行 vs. 串行断言语句在不中断仿真的情况下TEXTIO比 ASS

13、ERT快第34页/共37页第三十四页,共38页。断言(dunyn)(ASSERT):示例(Bhaskar 95)architecture check_times of DFF isconstant hold_time: time:=5 ns;constant setup_time : time:= 2 ns;beginprocessvariable lastevent: time;beginif devent thenassert NOW = 0 ns or (NOW - lastevent) =hold_timereport “Hold time too short”severity FAI

14、LURE;lastevent := NOW;end if;- check setup time- D flip flop behavioral modelend process;end architecture check_times第35页/共37页第三十五页,共38页。总结(zngji) 基本( jbn)input/output ASCII I/O和 TEXTIO package binary I/O VHDL 87 vs. VHDL 93 测试程序(Testbenches) ASSERT语句第36页/共37页第三十六页,共38页。感谢您的观看(gunkn)!第37页/共37页第三十七页,共38页。NoImage内

温馨提示

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

评论

0/150

提交评论