可重配置FPGA仿真验证平台的研究与设计
基于SRAM并部分可重配置的FPGA设计ECU

适 用于汽 车产 业的 运行 时可重 配置 计算 技
耗 与 禁 用 区域 部 分 成 比 例 降 低 。在 使 用 汽 车 电 术 最 强 大 的 特 性 无 疑 是 共 享 的 硬 件 资 源 上 功 能
基 础 电子 l 01 1 2 2.0
I 技术前沿 I rnire h oo y o t c n lg F eT
含 有不必 在启动 时 ( 如在E CU唤醒或加 电 )配
在 采 用 运 行 时 可 重 配 置 逻 辑 的 系统 中 ,
E
置 的 部 分 可 重 配 置 区 域 ,可 以 缩 短 系 统 启 动 时 汽 车 设 计 人 员 还 可 使 用 一 种 从 航 空 航 天 应 用 间 。 不 支 持 动 态 部 分 可 重 配 置 的F GA在 加 电 时 中 借 鉴 来 的 重 配 置 技 术 。 重 配 置 (o f u ai n P c n i r to g
-
由于 当今 先 进 的 FP GA器 件 具 有 巨 大 的 容 配 置 硬 件 外 设 可 保 证 系 统 在 出 现 故 障 时 自我 修
量 ,故 在加 电时下 载 完整 的位 流会 引起 可观 的 复 。另外 ,这样也 可 以将故 障的最 大时 长限 制
配 置 时 间 开 销 。运 行 时 部 分 可 重 配 置 技 术 能 够 在 重 配 置 时 间 间 隔 内 。 这 种 技 术 也 通 常 运 用 在 显 著 地 缩 短 这 种 配 置 时 延 。 在 那 种 情 况 下 , 有 软 件 中 ,作 为 一 种 常 见 的 抗 干 扰 保 护 措 施 ,例 可 能 在 加 电 时 只配 置 一 个 最 起 码 的 子 系 统 ,让  ̄MC b 的 定 期 重 配 置 。 I Ug 设 I 系 统 其 余 部 分 保 持 待 机 状 态 ,直 到 有 必 要 初 始
一种基于UVM的FPGA通用可配置UART协议的验证方法

F P G A验 证 平 台。
图1 :基 于 U V M的 U A R T验 证 平 台
【 关键词 】U A R T U V M仿真验证 验证 方法学 由三大 E DA厂商 C a d e n c e 、S y n o p s y s 、Me n t o r 数据 ,并发送给记分板 ,记 分板 则根据参 数信
现一 个 通 用 的 参 数 可 配 置 的 UAR T协 议 F P GA F P GA设计工程师或验证 工程师 只需在顶 层设
置相应 的参数 ,即可 自 动 生成符合 要求 的测试
用 例 ,不 需再 重 新 开 发验 证 环 境 ,大 大 提 高 了
( 1 )用 S y s t e mV e r i l o g及 UVM 类库构建 验 证 效 率 。
1 引 言
uA I 作为 一 种通 用 异 步 串行 接 口, 以 其较好 的通用性 以及 同时支持远、近距离的数 据传输 ,被广泛应用 于计算机与各类外设之间 的 数据 通信 。作 为一 种 串行异 步通 信方 式 , UAR T的接 收 方和 发送 方 之 间没 有 共同 的时 钟 ,而 是以字节为单位传输数据 。字节与字节 间没有 固定的时间间隔,但字节中各 比特位 以 确 定的时间传送,时间长短 由波特率决定 。同 步 的方法 则是通过设置起始位和停止位实现 , 即在发送 每一 个有效字符前 ,发送方首先发送 起始位 ,再发送有效数据位,最后发送停止位 , 这样从起 始位 到停止位构成一帧数据。每帧数 据 发送 前,传输线 处于逻 辑 “l ”状 态,准备
于2 0 1 0年 联 合 推 出 。UVM 基 于 S y s t e m
息对待 测 U AR T模 块 的输 出结果 进行校 验和 比对 ,并给 出验证结果 。
基于FPGA的1553B总线接口设计与验证

Abstract: In order to reduce cost and improve design flexibility, a scheme of 1553B bus interface based on FPGA is
analyzing the working principle and responding flow of 1553B bus interface. The VHDL codes were compiled for the key modules RT was conducted through Virtex ⁃ 5 FPGA development board and PC. The results show that the system works stable in 1 Mb/s
图3 (b) 所示, 在每个数据中间部位, 若前一时钟采样到 者全 ‘ 1’ , 则产生错误标志, 通知协议处理逻辑或子系统
结束标志的产生, 差错处理, 以及根据收到的 RT 状态字 判断总线终端状态等。 RT 状态回复, 则需重新发送命令字进行重试 (Retry) 。 4.1.2 RT 模式 [7] 需要注意的是, BC 如果在规定的时间内没有收到 RT (远 程 终 端) 是 1553B 总 线 上 的 指 令 /响 应 型 终
图1
应 0.5 μ s, 故将主时钟分频后产生 2 MHz 时钟来控制编
总线接口整体设计方案
码 器 发 送 40 位 数 据 , 每个时钟沿发送一位, 正好满足 1553B 总线 1 Mb/s 的速率要求 [5]。 3.3 解码器设计
解码器主要完成消息字的解码, 并将其串并转换后 (1)检测到总线上有效电平, 解码器开始工作; (3) 16 位数据位和 1 位奇偶校验位解码; 同步头和数据位检测示意如图 3 所示。
FPGA设计的重要规范和经验精华

从大学时代第一次接触FPGA至今已有10多年的时间。
至今记得当初第一次在EDA实验平台上完成数字秒表,抢答器,密码锁等实验时,那个兴奋劲。
当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus II原理图环境下用74系列逻辑器件搭建起来的。
后来读研究生,工作陆陆续续也用过Quartus II,Foundation,ISE,Libero,并且学习了verilogHDL语言,学习的过程中也慢慢体会到verilog的妙用,原来一小段语言就能完成复杂的原理图设计,而且语言的移植性可操作性比原理图设计强很多。
工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎是不可实现的。
逻辑设计也是这样:如果不按规范做的话,过一个月后调试时发现有错,回头再看自己写的代码,估计很多信号功能都忘了,更不要说检错了;如果一个项目做了一半一个人走了,接班的估计得从头开始设计;如果需要在原来的版本基础上增加新功能,很可能也得从头来过,很难做到设计的可重用性。
在逻辑方面,我觉得比较重要的规范有这些:1.设计必须文档化。
要将设计思路,详细实现等写入文档,然后经过严格评审通过后才能进行下一步的工作。
这样做乍看起来很花时间,但是从整个项目过程来看,绝对要比一上来就写代码要节约时间,且这种做法可以使项目处于可控、可实现的状态。
2.代码规范。
如果在另一个设计中的时钟是40ns,复位周期不变,我们只需对CLK_PERIOD进行重新例化就行了,从而使得代码更加易于重用。
b.信号命名要规范化。
1)信号名一律小写,参数用大写。
2)对于低电平有效的信号结尾要用_n标记,如rst_n。
3)端口信号排列要统一,一个信号只占一行,最好按输入输出及从哪个模块来到哪个模块去的关系排列,这样在后期仿真验证找错时后方便很多。
4)一个模块尽量只用一个时钟,这里的一个模块是指一个module或者是一个entity。
基于FPGA的设计 正文

引言随着经济和科学技术的发展,电梯在高层建筑物的作用越来越凸出。
目前电梯主要分为机械系统与控制系统两大部份,而电梯的控制系统主要有三种控制方式分别是:继电路控制系统(“早期安装的电梯多位继电器控制系统)、基于FPGA控制系统、微机控制系统。
实现继电路控制系统方法很多,可以用标准逻辑器件、可编程序控制器PLC、单片机等方案来实现。
但是这些方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难,且该系统由于故障率高、可靠性差、控制方式不灵活以及消耗功率大等缺点,已渐渐被人民淘汰。
微机控制系统虽在智能控制方面有较强的功能,但也存在抗扰性差,系统设计复杂,一般维修人员难以掌握其维修技术等缺陷,没能广泛应用电梯中。
而基于FPGA的电梯控制系统由于可靠性高,使用维修方便,抗干扰性强,设计和调试周期较短等优点,在电梯控制中得到广泛应用,从而使电梯由传统的继电器控制方式发展为计算机控制的一个重要方向,成为当前电梯控制和技术改造的热点之一。
本文给出一个基于FPGA的6层自动升降电梯控制系统的设计方案。
它的设计是采用通俗易懂的Verilog HDL硬件描述语言使用EDA技术在Quartus II软件平台上设计完成,程序设计、编译以及时序仿真通过后再下载到开发板配合外围电路(模拟电梯的电路)来验证该系统的可行性。
这个系统分主要有6个模块,分别是键盘响应寄存处理模块、上升/下降请求寄存处理模块、电梯运行和停止处理模块、开门/关门与延时处理模块、电梯运行方向判断模块和电梯运行状态显示模块。
通过模块化设计不仅提高了程序编程错误的排查能力还提高了系统的可靠性。
1 概论1.1 电梯国内外现状1.1.1国内现状电梯作为中国对外最早的行业经过多年的发展,电梯产品无论在数量和质量都有了显著的提高,和国外产品差距越来越小。
考虑到经济性,现有国内的电梯控制系统,通常采用微机或可编程逻辑控制器对变频器进行多段速控制。
一种基于FPGA的可重构计算系统设计

l 引 言
计 算 目标 的 实 现 主 要 有 两 种方 式 : 其一 是 A I SC方法 , 使 即 用 专用 特 定 的集 成 电 路 .以 完 全 硬件 的方 式 来 实 现 计 算 任 务 。 这 种方 法 的 主要 特 点 是 为 特 定 计 算 任务 专 门设 计 . 分 挖 掘 问 充 题 本 身 的并 行 性 . 用 大 规 模 并 行 电路 进 行 计 算 . 得 到 很 高 利 可 的 运 算 速 度 及效 率 . 这 种方 法 的最 大 缺 陷 是 它 几 乎 没 有 任 何 但 灵 活 性 . 者 说 是 不 可 编 程 的 . 务 稍 有 变 化就 必 须 修 改 电路 。 或 任
维普资讯
一
种基于 F GA 的可重构 计算 系统 设计 P
吴冬 冬 2 杨 晓君 1 刘新 春 江先 阳 - -
( 中国科 学院计 算技 术研 究所 , 京 10 8 ) 北 0 0 0 ( 中国科 学院研 究 生院 , 北京 10 3 ) 0 0 9
dr ci n o e o f rb e c mp t g r s a c n o rb e h twe a a i g wi u rn l r ic se re y i t f r c n g a l o u i e e r h a d s me p o lms t a r fc n t c re t a d s u s d b if . e o i u n e h y e l Ke wo d : r c n g r b e c mp t g F GA, n i e r c n g r t n y r s e o u a l o u i , P i f n o l e o u ai n i f o
基于UVM方法的FPGA验证技术
基于UVM方法的FPGA验证技术作者:习建博朱鹏崔留争来源:《电子科学技术》2016年第03期摘要:针对现场可编程逻辑门阵列(FPGA)在雷达信号处理领域日趋显现的重要性,通过对传统FPGA功能仿真验证的分析,指出必须对FPGA设计进行充分的验证以提高相应雷达产品的性能和可靠性。
本文以某星载雷达波束控制FPGA软件的功能验证为背景,基于通用验证方法学(UVM),提出并实现了一种高效可重用的FPGA验证平台。
验证结果表明,该方法建立起的验证平台具备较强的通用性,并可有效提高验证效率及完备性。
关键词:现场可编程门阵列;UVM;验证平台;验证方法学中图分类号:TN47 文献标识码: A 文章编号: 2095-8595 (2016) 03-204-04电子科学技术 URL: http// DOI: 10.16453/j.issn.2095-8595.2016.03.003引言FPGA (Field Programmable Gate Array,现场可编程门阵列)以其集成度高、使用灵活、功耗低、开发周期短等特点,在雷达信号处理领域得到了广泛采用。
随着FPGA设计复杂度的不断增加以及设计规模的不断加大,FPGA在实际应用中发生故障的可能性也相应得到了提高,而这将直接影响各类雷达产品的可靠性。
仿真验证是FPGA设计流程中的一个关键环节,用于检验设计能否正确实现其功能,是保证FPGA 设计有效性和设计质量的主要手段之一。
传统的FPGA仿真验证方法由于存在验证效率低、验证不全面、通用性差等缺点,已经越来越难以满足日益增长的FPGA 设计要求[1]。
本文在分析传统FPGA仿真验证过程的基础上,结合目前先进的验证方法和验证方法学UVM(Universal Verification Methodology,通用验证方法学),以某星载雷达项目中的波束控制FPGA产品验证过程为例,提出并实现了一种高效可重用的FPGA验证平台,利用该平台可快速、高效、全面地完成FPGA的仿真验证工作,以提高产品的可靠性。
基于UVM的FPGA通用接口测试平台设计
基于UVM的FPGA通用接口测试平台设计王涛; 黄坤超; 李晨阳【期刊名称】《《测试技术学报》》【年(卷),期】2019(033)005【总页数】7页(P443-449)【关键词】FPGA; UVM; 测试平台; 数据库【作者】王涛; 黄坤超; 李晨阳【作者单位】中国电子科技集团公司第十研究所四川成都 610036【正文语种】中文【中图分类】TP30 引言随着FPGA在航空、航天、通信、识别等领域的广泛使用,以及业内对FPGA验证质量要求的不断提高,传统的仿真验证已难以满足日益增长的验证需求,验证技术也由传统仿真验证逐渐转移到新一代的验证方法学中.目前主流的验证方法学分别是VMM,OVM和UVM,其中UVM已成为业内广泛使用的验证技术[1],属于TLM级验证,具有较高层次,主流的EDA工具均支持UVM,已成为各大公司验证趋势.国内航天等科研单位都在积极开展FPGA自动化测试技术研究,对UVM验证方法表现出极大兴趣.UVM主要是针对相似的FPGA接口进行验证,据统计,现有的大部分UVM验证平台的实现与DUT呈现紧耦合性[2],导致验证组件不能直接在不同项目平台中使用,其可重用性需要通过重建或替换已有验证平台的部分代码来实现,使得多重测试环境复杂度增加,产生大量的工作量[3,4].面对多接口的复杂设计环境,为满足多重验证环境需要,利用通用UVM验证平台架构进行重新优化设计,建立一种基于UVM的高层次化测试平台,提出层次化设计、通用数据库共享、事件同步化控制、自动化执行等技术,建立一套新的重用机制,使得重用性即能在相似接口内重用,又可以在多种不同接口的复杂环境中重用,提升测试的可重用性.实验结果表明改进后的平台可使测试时间缩短40%以上,并满足多种接口测试需要.1 FPGA通用接口自动化测试平台1.1 通用接口分析目前FPGA设计较多的是采用DSP+FPGA设计构架,对历届测试项目统计FPGA 对外接口主要包括UART,SPI和DSP等.一般情况下UART,SPI和DSP接口设计是通过总线架构形式配合使用,如图1所示.图1 FPGA通用接口关系Fig.1 FPGA general interface relation根据UART,SPI和DSP 3种接口支持的不同类型协议,通过思维导图分解接口需求,主要包含DSP的只读、只写、可读可写测试,UART和SPI的收发功能一致性测试、缓冲测试、帧格式测试,校验位测试、帧长测试、毛刺测试、波特率测试等,可通过配置寄存器组合出不同的实现模式.1.2 通用接口自动化测试平台基于UVM测试平台,改进后的FPGA通用接口自动化测试平台如图2所示.图2 通用接口自动化测试平台Fig.2 Universal interface automation test platformFPGA软件通用接口自动化测试平台分为测试平台和管理平台两部分.管理平台为自动化测试平台的实施提供所对应的可视化操作窗口,提供接口参数配置和结果输出界面,通过脚本方式完成管理平台与测试平台之间的数据交互.测试平台在UVM基础上改进形成,由一个TOP顶层封装起来,首先在TEST层控制发送sequence_high(高层次序列)给序列器sequencer;Sequencer将sequence_high以指针的形式传递给驱动器Driver;其次在BASE_TEST层中建立通用数据库和ENV层之间的各个组件连接关系,建立数据传输通道;Driver根据接收到的高层次序列命令sequence_high,从通用数据库sequence_low_lib中提取相应的底层次序列sequence和系统配置参数sequence_sys,将底层次序列送给被测件DUT;监控器Monitor收集DUT输出数据和覆盖率数据等,将收集好的数据传递给Collect_lib(数据收集库),Collect_lib负责数据统一管理和覆盖率收集;比较器Scoreboard从数据收集库Collect_lib提取要比较的数据,在Scoreboard比较完成后,打印输出结果.最终实现测试指令与测试设计相分离,测试设计与被测设计相分离的设计,完成整个测试过程.2 关键性技术实现2.1 层次化设计对于任何一种新型的验证方法学来说,分层的测试平台是一个关键概念,分层有助于验证平台的可移植性和可维护性[5].研究表明,越是高层次化的验证则验证效率越高[6].传统的仿真采用平面式的验证环境,层次化程度很低,不利于重用,难以处理各种情境下的验证问题.现有的UVM验证平台在TLM级组件之间的通信通过专门PORT端口传递消息[7],在TEST顶层直接实现和控制测试序列产生,同时还要考虑多序列之间的同步问题,抽象层次级别低,同时验证组件之间呈现紧耦合关系,导致其可重用性较差.当多重环境存在时,验证的复杂度和出错概率都急剧增加[8,9].因此,为提高代码的可重用性,需要在一个UVM验证平台下,即要保留TLM级处理能力,又要同时满足多重环境需要.为此,在UVM基础上设计出一种新的高层次化结构,如图3所示.图3 改进后的UVM层次化验证架构Fig.3 Improved UVM hierarchical verification architecture改进后的UVM和通用UVM的层次关系不同之处在于:一方面,将原有的测试序列sequence按层次分成4类,分别为高层次序列、底层次序列库、数据收集库和系统配置4个部分,由于原来的序列使用过于直接,级别低,划分不明确,每次测试都需要用户重新开始设计,因此,通过分解,序列不仅提高了重用性,而且提升序列的抽象级别,同时解决了多序列带来的同步化问题,消除了采用vrtual sequencer和virtual sequencer进行同步的复杂序列设计;另一方面,在ENV层中统一Driver,Monitor,Scoreboard和Ref_model4个组件,其中只保留sequencer和Drive组件之间采用PORT端口传递信息,继承UVM特性,其余组件之间信息传递使用通用数据库共享方式替代PORT端口传递消息,取消agent代理层设计,这样做可以大大地简化测试环境之间的耦合关系,不仅提高了可重用性,而且在处理不同信息时得到了扩展,处理方式更加简洁和透明.使用一个平台,即可完成对不同的多接口测试环境需要.2.2 通用数据库共享通用数据库是在建立测试用例过程中引入的一种专家知识库概念[10],是一个中央存储数据库,由一组产生各种激励序列的sequence类组成,可以与UVM验证环境中的任何组件进行信息交互,整合了仿真所需要的多个独立的数据库,数据库的创建从需求中提取高价值的信息,结合随机约束特性,进行高效利用.高层次序列、底层次序列库、数据收集库、系统配置4个部分与组件之间的共享方式如图4所示.图4 数据库与组件之间的共享方式Fig.4 Sharing between database andcomponentssequence_high按照需求规格提炼出验证特性,将验证特性进行归类处理后,对应测试用例的功能测试点表示,sequence_low_lib就是每个功能测试点具体输入数据序列的集合.高层次序列抽象级别较高,为决策者,低层次序列是直接测试序列,抽象级别较低,为执行者,两者将决策与具体执行联合在一起.collect_lib主要是收集DUT输出的各种实测数据,同时也收集参考模型或底层序列库传递来的期望数据以及覆盖收集等,在收集数据完成后,产生不同的同步标志信息,供比较器Scoreboard使用.由于DUT是一种时序电路,驱动接口时会有时序参数要求,因此,必须要有sequence_sys系统配置,sequence_sys主要包括建立控制接口信号正确时序关系的各种时序参数,如时钟频率、建立时间、保持时间、发包间隔等.图5~图8 分别是高层次序列、底层次序列库、数据收集库、系统配置设计示例,每类序列设计允许创建、修改、新增、删除等操作.实现机制采用class形式将序列封装起来形成一组参数化,提高继承者的配置功能和通用功能.通过利用UVM的Field_Automation宏机制注册,使用`uvm_field_*系列宏体注册不同数据类型的变量,宏的使用实际上相当于是一种对数据变量的控制开关,使用if/case判决条件语句判决高层次序列激活时启用不同的数据变量.利用该机制用户能够很方便地产生所需要的各种序列.图5 高层次序列设计Fig.5 High level sequence design图6 低层次序列设计Fig.6 Low level sequence design图7 统配置参数设计Fig.7 Design of system configuration parameters图8 数据收集设计Fig.8 Data collection design通用数据库是作为uvm_object的class类产生所有相关的数据分类设计,数据库可以在任何的component or object中共享.共享方式在BASE_TEST层完成配置,主要作用是建立数据库和ENV层的各个组件之间连接关系,建立数据传输通道,其基本结构如图9所示.使用uvm_config_db::set(源文件使用)函数将需要共享的数据库传递给指定的模块;组件调用时,使用uvm_config_db::get(目的文件使用)函数将该指定的模块导出共享的数据库.图9 数据库在不同组件之间的映射Fig.9 Mapping of database between different components利用数据库充分挖掘UVM验证环境中数据的有用信息,提高数据分析的有效性,支撑决策制定,联合不同的DSP,UART,SPI等接口最优数据格式需求,构建一种可共享和跨项目的通用数据库,有效提高跨组件的通信和互操作能力,实现资源合理配置,满足多个平台重用.2.3 事件同步化控制设计测试平台组件Driver,Monitor,Scoreboard 3者之间必须有密切的时序配合才能正常工作,基于时钟周期级的测试平台对于具体时钟的紧耦合性很强,需要处理执行过程中初始化、驱动、监控和比较等组件,组件之间的信息交互难以处理同步化关系,同时还存在一定的时序竞争问题.事件触发对于具体时钟的紧耦合性不强,采用事件触发解决组件之间信息传递同步化处理是一种很好的解决办法,如图10所示.图10 基于事件的同步化控制Fig.10 Synchronization control based on events 基于事件的同步化处理,在组件信息传递过程中起着握手信号的作用,当组件Driver需要同时驱动多个接口时,在驱动结束后触发事件组{e1,e2,e3,…},将该事件组存储到通用数据库系统配置Sequence_sys中;当组件Monitor需要同时监控多个接口时,从系统配置Sequence_sys中提取事件组{e1,e2,e3,…},在监控结束后触发事件组将该事件存储到通用数据库数据收集库Collect_lib中;当组件Scoreboard需要同时比较多个接口数据时,从数据收集库Collect_lib中提取事件组在数据比较结束后,将各自结果分批打印和输出.2.4 自动化执行测试平台的自动化执行,是提升测试效率的有效手段,平台可以同时提供两种自动化执行方法,包括人机交互界面自动调试和命令行的脚本化输入方式.利用脚本执行测试平台,测试结果自动呈现.脚本的开发关键是要处理好测试平台工作目录配置以及脚本处理对象,即方便脚本设计又可以便利平台重用,利用脚本将平台工作目录下的各个组件衔接形成一个整体进行无缝工作.测试平台的脚本目录及工作流程如图11 和图12所示.图11 测试平台脚本目录Fig.11 Test platform script directory图12 测试平台工作流程Fig.12 Test platform workflow同时利用Qt工具开发出人机交互界面,用户选择不同接口的预设测试用例即可执行测试,通过调用仿真工具执行并打印测试结果,管理界面如图13所示.图13 人机交互式的管理界面Fig.13 Man-machine interactive management interface3 测试结果分析利用改进后的自动化测试平台,对一个包含多个接口项目进行测试,软件主要实现功能包括接收DSP接口写入的数据并缓存到FIFO中,再将数据读出通过UART接口发送出去;同时将UART接口接收到的数据缓存到另一个FIFO中,再由DSP将数据读出.通过仿真工具Questa Sim 10.5运行脚本文件run.fdo,仿真完毕后打印测试结果和覆盖率信息,图14 和图15 是测试完成后的部分输出结果.图14 打印结果Fig.14 Print results图15 覆盖率报告Fig.15 Coverage report经测试,UART接口的波特率余量约为:(39.46~38.46 kHz)/38.46 kHz=2.6%,与通常要求的20%余量相比,其UART模块抗干扰性较差.另外此次测试还检查出奇校验、偶校验报错,无校验正确,与源代码的无校验设计特性相符合,DSP读写功能正常.统计测试过程中的消耗时间,包括脚本编辑、参数配置、接口配置、用例编译链接、结果记录、测试执行、环境搭建等占用时间统计,总消耗时间为13.7 h.同时将该项目在传统测试和UVM验证平台上试运行,统计测试时间分别为36 h和23 h,经对比,该平台有效降低测试时间40%以上,测试效率得到有效提升.4 结束语FPGA通用接口自动化测试平台主要面向FPGA软件测试,解决FPGA软件通用接口在测试过程中自动化测试环境缺乏、支撑功能不足等问题.通过利用层次化设计、通用数据库共享、事件同步化控制、脚本执行等技术,改进UVM验证架构,提高测试平台的可重用性和自动化水平.通用数据库还需进一步通过实践检验,形成一种广泛认可方式,将更丰富的方法应用于测试平台,提高软件研制进度和质量. 参考文献:【相关文献】[1] Khaled Salah.A UVM-based smart functional verification platform:concepts,pros,cons,and opportunities [J].IEEE 9th International Design and Test Symposium,2014,(12):94-99.[2] 陈琳娜.基于UVM的层次化验证平台研究[D].浙江:浙江大学,2018.[3] Juan Francesconi,J.Agustin Rodriguez,Pedro M.Julin.UVM based testbench architecture for unit verification:2014 argentine school of micro-nanoelectronics,technology and applications [J].IEEE Catalog Number CFP1454E-CDR,2014(1):89-94.[4] 谈笑,王小力.一种基于UVM的模块级可重用随机化验证平台构建方法[J].微电子学与计算机,2015,32(3):67-72.Tan Xiao,Wang Xiaoli.An module level reusable randomization verification platform based on UVM[J].Microelectronics & Computer,2015,32(3):67-72.(in Chinese)[5] Chris Spear.System Verilog 验证:测试平台编写指南[M].张春,麦宋平,赵益新,译.北京:科学出版社,2009.[6] Gong Lingkan,Oliver Diessel.Functional verication of dynamically recongurable FPGA-based systems [M].Springer,2015:63-64.[7] 张强.UVM1.1应用指南及源代码分析[M].杭州:浙江图书馆,2011.[8] 徐金甫,李森森.采用UVM方法学实现验证的可重用与自动化[J].微电子学与计算机,2014,31 (11):14-22.Xu Jinfu,Li Sensen.Adopting universal verification methodology to achieve reusability and automation verification[J].Microelectronics & Computer,2014,31(11):14-22.(in Chinese) [9] 田劲,王小力.基于UVM验证方法学的AES模块级验证[J].微电子学与计算机,2012,29(8):86-90.Tian Jin,Wang Xiaoli.AES module level verification based on UVM[J].Microelectronics & Computer,2012,29(8):86-90.(in Chinese)[10] 谢峥,王腾,雍珊珊,等.一种基于UVM面向RISC CPU的可重用功能验证平台[J].北京大学学报(自然科学版),2014,50(2):221-227.Xie Zheng,Wang Teng,Yong Shanshan,et al.A RISC CPU oriented reusable functional verification platform based on UVM[J].Acta Scientiarum Naturalium Universitatis Pekinensis,2014,50(2):221-227.(in Chinese)。
简介一种USBIP核的设计方案及FPGA验证-设计应用
简介一种USB IP核的设计方案及FPGA验证-设计应用1 引言USB ,是英文Universal Serial BUS(通用串行总线)的缩写,而其中文简称为“通串线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。
是应用在PC领域的接口技术。
USB接口支持设备的即插即用和热插拔功能。
USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。
USB(Universal Serial Bus)具有以下特点:即插即用、广泛的软硬件支持、低功耗、可选择的多种速度模式、完备的总线拓扑结构。
随着半导体工艺技术的发展,集成电路设计者能够将愈来愈复杂的功能集成到单硅片上。
在设计IP核时应注意其可重用性,为了增强IP核的可能重用性,使IP核能更好地适应不同总线结构的SoC平台,可以为IP核设计一个总线接口模块。
该模块主要完成片上总线的协议转换和实现,称之为总线适配器(BusAdapter)。
其特点为:IP核与外部的片上总线标准无关,其逻辑相对固定,只需对相应的总线适配器进行配置就能够有效地集成于不同片上总线的SoC平台。
当前SoC中常用的总线协议有三种分别是:ARM公司的AMBA、Silicore公司的WISHBONE SoC Interconnection Archi—tecture和Ahera的Avalon总线。
本文实现的USB IP核中,设计了总线适配器,在综合前针对WishBone总线或AMBA ASB总线通过宏定义进行设置,从而使USB IP 核能够直接集成于WishBone或AMBA ASB总线的SoC系统中。
2 USB系统组成部分系统主要分为三个部分:主机、设备和互连。
在任何的系统中,只有一个主机,与主机系统的接口称作主机控制器。
他可由硬件、固件和软件综合实现。
设备可以分为功能性设备即外设和集线器,前者作为系统的功能扩展设备而后者作为设备的扩展连接点。
互连定义了主机和外设的连接和通信方式。
基于国产FPGA的高速SRIO接口设计与实现
基于国产FPGA的高速SRIO接口设计与实现于东英;陈俊;康令州【摘要】针对具有高速接口的芯片国产化的迫切需求,进行了基于自主研发的国产FPGA平台SRIO接口的设计和验证.首先介绍国产FPGA平台资源和SRIO接口体系结构,结合FPGA厂家提供的IP core进行FPGA内部功能模块设计.其次,重点讨论用户侧接口数据流向方式,对应开发SRIO接口数据流向控制时序代码,并通过软件仿真实现2.5 Gb/s速率的1X SRIO接口逻辑.最后,与xilinx开发板SP605的SRIO接口进行互联互通测试,验证国产FPGA平台上SRIO接口设计的正确性和稳定性.【期刊名称】《通信技术》【年(卷),期】2019(052)001【总页数】4页(P255-258)【关键词】国产FPGA;SRIO;IPCORE;高速数据处理【作者】于东英;陈俊;康令州【作者单位】中国电子科技集团公司第三十研究所,四川成都 610041;中国电子科技集团公司第三十研究所,四川成都 610041;中国电子科技集团公司第三十研究所,四川成都 610041【正文语种】中文【中图分类】TN913.30 引言2015年5月国务院印发《中国制造2025》,是中国政府实施制造强国战略第一个十年行动纲领。
在该行动纲领的指导下,为了提高国家综合国力,成功实现各个产业升级转型,创新与自主发展成为其核心理念之一。
2018年上半年,美国商务部发布对中兴通信的禁止出口令。
该消息一石激起千层浪,对所有国人敲响了警钟,同时明白在很多高科技行业尤其在有“工业石油”之称的芯片方面,必须拥有自主研发的产品,否则将会受制于人。
如果不是在中国自主研发的芯片上进行开发和应用,取得的一切成果就如一座建立在沙子上的城堡。
在提倡创新和自主发展的大背景下,在外部环境瞬息万变的情况下,为了行业长远和健康的发展,必须在芯片领域坚持自主研发和应用。
本文主要是在国产自主研发的FPGA平台上实现高速数据通信接口SRIO的设计与验证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一
、
前 言
FG P A芯片实现常用的系统仿真或构成实用系统 。也可作 为 F 11 F 57封装 的 V ̄e ir xⅡ系列 F G P A芯片 的评估 。可 在实 时 条件下进行系统测试并 用 逻辑分 析仪 观察 信号 波形 和进 行 AI SC芯片模 拟 。在 该验 证 板 的设 计 中充 分考 虑 了 可 重 配 置 、通用性和成本 ,并 提供 了丰富 的调试 手段 。系统 由 电 源板 、系统母板 、配置 程序 P O 子板 、专用 接 口子 板 和 RM
维普资讯
总第 3 期 1
湖南广播 电视大学学报
20 年第 3 07 期
可重 配置 F G P A仿真验证平 台的研 究与设计
张 旭
内容摘 要 :F G P A仿真是确保 I c设计正确的重要手段。本文探 讨 了 F G P A仿真技 术和 A I SC设计 F G P A仿真验 证流程 , 介绍 了一种 新型硬 件可重配置 的通用 F G P A仿真验证平 台的设计技巧 ,解决 了用 多片 F G P A芯片实现 A I SC仿真的难题。 关键词 :F G P A;仿真 ;验证平 台;可 重配置设 计 中图分类号 :T 37 文献标 识码 :A 文章编号 :10 P3 0 9—55 (0 7 3—07 0 1 2 20 )0 0 9— 3 作者简介 :张旭 ( 9 8 ) 15 一 ,女 ,湖 南广播 电视 大学讲 师。湖 南长沙 4 0 0 10 4
片 Xl x公 司 的 V ̄ x一 Ⅱ系 列 的 型 号 为 X 2 6 0 in i ie C V 00或
半导体制 造技 术不断 的前 进 和相应 的设 计规模 以及 复杂 度
飞速 的增 长 ,复杂 A I SC设计功能验证 已经成 为整个设计 中
X 2 80 C V 0 0的 F G 芯片 ,其 封装 类 型为 F 1 1 ,使 用 单 PA F57
也是一种浪费 。
本文介绍 了一 种可 重配 置 的通用 多 片 F G P A仿 真 验证 平台的设计和 F G P A仿 真验 证流 程 ,为 方便灵 活地 重 配置
硬件 ,设 计 中采用 了不少 技 巧 ,可大 大提 高了验 证板 的通 用性 和可重用性 ,降低设计成本 。
更为 复杂 的系统 ;用 户 接 口是由专用 的用 户 接 口子 板实 现 的 ;系统备有一套通用 连接器 的互连子板 ,可将不 同 F G PA
的 IO口信 号进行 任意组合 的互 连 ,通过这 些互 连子板 可 /
辅助解决 系统 内部信 号连 线之不 足 和用 于建立 新 的仿真 逻 辑模 型;普通 连接 器 ,连 接部 分 F G 的 IO 口信 号 ,供 PA / 与外系统 ( 如逻辑 分析 仪)相 连 ,程序 加载 连接 器 ,与 配 置程序子板上 的对 应连 接器 相接 ,构 成 配置程 序的加 载 通 路 ,时钟信号连 接器 ,用 于接 入外部 时钟 ,为系 统提 供外 部时钟的选择 ;R 2 2串行接 口,为连 接 P S3 c等 串行 设备创
软件 及整 个系 统 的并 行 开发 并能 检查 硬 件 和软 件兼 容性 , 在 目标 系统 中同时测试系统 中运行 的实 际软 件。 FG P A仿真 为数 字系统提供了与设计芯片功能等价 的硬
件原 型 ,以接近实 际运行 速 度的方式 执行 设计 模型 。随着
的互连方式即可构 成更 为复杂 的各 种仿 真系统 ;系统 采用 外部供电方式 ,由专用 电源模 块提 供 ,专用 电源模 块 与系 统母板 之间使用 专用 供 电电缆 连接 ;系 统母 板板上 装有 四
各种信号互连子板几部分组成 。 该系统具 有如 下 主要 特 性 :系 统 母板 采 用叠 拼 方 式 , 再配 以各种信号互 连子 板和各 种专 用接 口子板 ,采用 灵活
FG P A仿 真使 用 可动 态 配置 的 F G 实现 待验 证 的设 PA 计 ,利用 专用软件把用户 的设计转换成仿真 器所 需的 F G PA 编程数据 ,下载该数据到 F G P A器件 ,用 F G P A器件实现用
造了条件 ,U R A T功 能必 须在 F G P A中实现 ;晶振作 为系统 的 内部 用跳线器来选 择 系统 使用 的 时钟 为 内部 时 钟或 外 部时 钟 ,
但对于不 同的 A I SC设计 ,F G P A验证板 通常无 法重复使用 ,
可以扩展 到更 大的容量 ,如 6 M甚至 1 8 P A门 ,构成 4 2MFG
能够在接近实 时的条 件下进 行 功能验 证。使用 软件 仿真工 具做模拟验证 ,速度 慢是 最主要 的 困难。使用 硬件 仿真 的 突出优点是速 度快 ,能够 实 时仿真 用户设 计对 各种输 入激
励的真实 响应 ,能够 比较 方便地 连接 到高速 目标 板上 ,而 且可 以使 软件 的开发调 试和 A I SC的开发 调试并 行的进 行 。
个母 板 ,最大设 计 容量 可达 3 M F G 2 P A门 ,系统母 板具 有
最大 的瓶 颈 。而 由于一 些需 要 处理 大 量实 时数 据 的应 用 ,
如视频 、通信 和通用 微处 理器 越来越 多 ,这些 应用 都要 求
很好 的可扩展性 ,采用 叠拼方式把多块 系统母板 连接起来 ,
户待验证的设计 ,利 用测 试 向量或通 过真 实 目标 系统 产生 激励 ,验证和测试芯 片的逻辑 功能 ,F G P A仿真 的突出优点
是速 度快 ,能够实时 仿真用 户设 计对 各种 输入激 励的 真实 响应 ,并 充分考虑 了芯 片/ 电路的操 作 时序。F G P A仿 真在
设计的早 期 即可验 证 芯 片设 计功 能 的正 确性 ,支 持 硬 件、