FPGA验证平台介绍.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FPGA验证平台介绍

FPGA验证平台目的针对目前FPGA的功能及FPGA在系统中的作用,建立一个标准的验证平台,平台的输入和输出均为文件的形式。原因如下 :仿真过程中,为了更贴近实际,我们的激励(数据来源)和仿真结果分析都会需要DSP(CPU)部门,算法部门,甚至硬件部门的配合。而以目前的情况,我们之间只能是以文件做为接口。现在的项目,我们的仿真数据量非常大。靠eye-check波形文件几乎不可能。而且dump波形会耗去很多的仿真时间。文件易于保存,且相对于编程语言更容易看懂,利于以后对之前项目的追朔和项目人力更变时的衔接。范围FPGA设计人员。概要设计设计描述验证平台主要包括两部分。一部分是仿真平台模型,用于统一testbench的风格,便于新进人员的参阅。另一部分是文件管理,便于项目追朔和人员交流。仿真平台模型图3-1 仿真平台模型仿真平台模型如上图所示。从图中可以看出,除了时钟和复位信号外,所有的输入输出均为文件类型。也就是说,平台搭建完毕后,只需改变输入文件,即可进行不同测试用例的仿真。同样,仿真结果也会在文档中保存,便于以后的查阅。模型中各模块解释如下:DUT: 待验证模块。一般为可综合rtl或netlist。clock reset:用来产生系统中各模块的时钟和复位信号。files input: 输入文件。包括数据文件,控制信息文件,寄存器配置文件,操作类型文件等。 数据文件:用于存放传输的数据。控制信息文件:用于存放数据传输过程中的控制信息。如:包头信息,命令等。寄存器配置文件:用于存放模块内部寄存器的值,通过读取此文件对内部寄存器进行初始化或配 置(目前用不到)。操作类型文件:用于存放模块的操作模式。如:读,写,doorbell等。files output: 输出文件。包括直接输出文件,比较结果文件,错误信息文件等。直接输出文件:monitor检测内部数据后打印出的文件。比较结果文件:保存文件比较后的比较信息。错误信息文件:保存所有的错误信息。generator: 数据产生模块,功能如下:从文件中提取数据及信息。从数据文件中提取数据,从信息文件中提取信息,依次排列后送入transactor模块。对数据进行编码/解码(目前用不到)。当模块所需数据为特殊格式时,在此模块对数据进行预处理。Transactor:数据处理模块,用于选择操作模式,对数据进行打包/解包等操作。选择操作模式。根据输入文件中的信息,选择相应的操作模式。根据模块要求,对数据进行打包/解包操作后送入driver模块Driver: 用于驱动DUT。一般是接口模块(AMBA, SRIO等), 可以用IP core generator生成的sim model来实现此模块的功能。对于特别简单的接口(buffer等),可以自己用行为级语言描述。monitor: 检测模块。用于监视平台及rtl模块内部信号及数据总线,并打印有效信息。一般来讲,由于截位取舍等原因,算法模块两侧的数据往往无法直接比较,而需要借助波形文件来检查功能正确性,并通过对其输入输出数据的 分析,所以monitor应放在不含算法模块的最长数据通路两侧,举例如图3-2所示。checker: 比较模块。对monitor打印出的文件进行比较,如果比较结果和期望结果不一致,则打印出错信息。 图3-2 monitor使用方法举例文件的组织文件的命名方式文件命名格式为:设计模块名.扩展名,从而使文件与设计模块相对应。例如,文件名counter.v表明该文件中有一个用verilog HDL语言描述的counter模块。文件的组织目录结构文件的组织目录结构如下:bin: 文件夹,用于存放脚本文件。log: 文件夹,用于存放输出文件。pat: 文件夹,用于存放测试用例(即输入数据)。rtl: 文件夹,用于存放rtl代码。syn: 文件夹,用于综合。par: 文件夹,用于布局布线。tb: 文件夹,用于存放testbench。wave:文件夹,用于存放波形文件。work:文件夹,工作目录。*.do:文件,用于运行仿真。Example为便于理解,下面以简单的FFT信号处理的验证平台为例,详细说明平台构架及设计流程。仿真平台模型图4-1 下行链路testbench构架下行链路仿真平台如上图4-1所示。平台的输入为两个文件,数据文件和包头信息文件。输出四个文件,包含数据信息,地址信息,以及buffer号码信息,以作比较。同时由于fft是算法模块,无法作比较,故dump其波形,也可以将其两端数据文件导入matlab进行分析。途中data_gen模块提取输入文件中的信息,传递到transactor模块。由于目前我们只需要用到SRIO的nwrite模式,所以transactor没有输入文件,直接选择nwrite模式即可。DRIVER模块直

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档