基于VHDL语言的IP核验证

发布者:RainbowJoy最新更新时间:2012-07-08 来源: 21ic关键字:VHDL  IP核验证 手机看文章 扫描二维码
随时随地手机看文章
   

 引言
       在IC(integrated circuit.集成电路)发展到超大规模阶段的今天,基于IP(Intellectual Property,知识产权)核的IC设计及其再利用是保证SoC(system onchip,片上系统)开发效率和质量的重要手段。如果能对IP核进行验证、测试和集成.就可以加速SoC的设计,而这需要从以下5个方面进行考虑。

代码纯化.指在代码设计中及完成后进行自定义的、IEEE标准的、设计重用的、可综合性和可测试性等方面的规则检查;
代码覆盖率分析.研究仿真中的测试矢量是否足够;
设计性能和面积分析.在设计逻辑综合过程中分析所设计的RTL所能达到的性能和面积要求;
可测性分析:IP核设计重用中的关键技术。如何保证IP核的高测试覆盖率,如何保证IP核在集成到SoC中后的可测试性.是该阶段分析的主要目标。所以在IP核实现之前.要检查IP核设计中是否违反了可测性设计规则;
低功耗分析:SoC的重要衡量指标。我们在IP核设计阶段就需要将TP核功耗参数进行精确估计并进行相应的功耗优化设计;基于此.本文重点讨论在IC设计过程中IP核的验证测试问题并以互联网上可免费下载的原始IP核资源为例.在与8位RISC架构指令兼容的微处理器下载成功。

  1 IP核与RISC体系

  1.1 IP核

  IP核是具有知识产权的集成电路芯核的简称其作用是把一组拥有知识产权的、在数字电路中常用但又比较复杂的电路设计功能块(如FIR滤波器SDRAM控制器、PCI接口等)设计成可修改参数的集成模块构成芯片的基本单位,以供设计时直接调用从而大大避免重复劳动。

  1.2 RISC处理器

  RISC(reduced instruction set computer.精简指令系统计算机)是IBM公司提出来的、在CISC(complerinstruction set computer复杂指令系统计算机)的基础,上继承和发展起来的一种新型系统结构技术。具有结构简单指令合理成本低廉快捷高效等特点。应用前景被普遍看好。国际IT领域的大公司如IBM、DEC、Intel、ARM、Motorola、Apple、HP等先后将其力量转向RISC.并已经开发出各种基于RISC的芯片或IP核。

  SoC是进行IA(Intel Architecture.智能家电)产品开发的主要方法.而基于RISC体系的EP(embedded processor,嵌入式处理器)则是SoC芯片的核心。可以说,RISC是当前计算机发展不可逆转的趋势。

  1.3 VHDI语言

  VHDL(Very High Speed Integrated Circuit Hardware Description Language.集成电路硬件描述语言)与Verilog HDL程序都很适合用来设计架构RCMP reconfigurable mICroprocessor,可重新规划的微处理器)。为此.我们利用VHDL设计一种嵌入式RISC8微处理器及应用芯片.设计后的IP核下载到FPGA(Field Programmable Gate Array.现场可编程门阵列)芯片上做验证,并在开发板构建视频接口模块等以利于调试和应用。

  2 IP核的仿真与测试

  2.1 SoC的测试策略

  SoC芯片的测试比传统的ASIC测试要复杂得多.全面的功能测试通常是不现实的  目前常采用的策略是分别测试所有的电路功能模块在SoC芯片中存在各种不同类型的电路模块,每个模块所要求的测试方式也不相同。SoC芯片中的模块基本可以分为三类:CPU/DSP、存储器模块、其他功能电路模块。CPU/DSP的测试与传统的CPU/DSP测试类似.通常采用边界扫描方式结合矢量测试方式。存储器的测试一般采用BIST测试,比较快捷而容易控制。其他的电路模块按设计难易程度或应用方便性,采用边界扫描或BIST。

  2.2 IP核的测试方案

  IP核的研究平台有很多种.但一般硬件仿真调试器费用昂贵(几千到数万元),对于普通用户来说难于承受。为此,本文利用免费的IP核进行改写,利用Xilinx ISE开发软件和汇编语言翻译过来的机器码作为测试激励,完成了RISC结构的Xilinx Spartan2系列的FPGA芯片CPU指令的验证和测试方案.具体方案如下:

  (1)以VHDL/Verilog语言改写或新写8 bit pipelined RISC 结构之处理器模块、内存控制器模块以及视频控制接口模块.然后通过Xilinx ISE 4.1/5.2、ModelSim完成行为级仿真、综合以及布局布线等。

  (2)以某个应用为例将C语言或汇编语言编写的测试算法程序存储在SRAM中.实现嵌入式处理器及视频控制接口并下载到FPGA.从而生成一块可编程的控制器芯片构成一个简化SoC应用。

  (3)如果SoC应用成功.则可通过cell-Base Design Flow将其转成ASIC版图.实现流片。

   2.3 IP核的验证方法

  在芯片的设计流程中设计的验证是一个重要而又费时的环节。在进行Top_Down设计时.从行为级设计开始到RTT级设计再到门级设计相应地利用EDA工具进行各个级别的仿真.行为仿真和RTL级仿真属于功能仿真其作用是验证设计模块的逻辑功能  门级仿真是时序仿真用于验证设计模块的时序关系无论是功能仿真或是时序仿真仿真方法有两种.即交互式仿真方法和测试平台法

  (1)交互式仿真方法。该方法主要是利用EDA工具提供的仿真器进行模块的仿真它允许在仿真期间对输入信号赋值,指定仿真执行时间,观察输出波形。当系统的逻辑功能、时序关系达到设计要求后,仿真结束。缺点是输入输出不便于记录归档尤其是输入量比较复杂时,输出不便于观察和比较

  (2)程序仿真测试法。就是为设计模块专门设计的仿真程序(也称为测试程序),以实现对被测模块自动输入测试矢量,并通过波形输出文件记录输出,便于将仿真结果记录归档和比较。利用测试程序可以对一个设计模块进行功能仿真和时序仿真。[page]

 

     2.4 IP核的测试仿真

  综上所述,下面给出RISC 8测试仿真实例。该测试仿真大致可分为5个步骤

  (1)给Wave(波形)窗口添加信号。首先添加的是RISC 8的整体Structure(结构)信号。

  (2)行为级仿真初步测试。在初步测试中.“portb”信号的输出如果是“FX”,则说明系统必然存在问题;如果是“OX”则说明系统没有发现问题要进行进一步的测试。

  (3)行为级仿真进一步测试。在进一步测试中,要注意的信号是romaddr、romdata以及各种指令控制信号。

  (4)源程序修改,再仿真。在上一步中定位到出错的地方,然后回到源程序中找到所有出错信号出现的地方,仔细分析,并结合波形图进行修改,然后重复上述步骤进行再仿真。

  (5)布图布线后的仿真(后仿真)。事实上在行为级仿真与后仿真之间还有3个仿真过程,但一般来说只要能通过后仿真则其他的仿真也就没有问题。

  在后仿真过程中,看一下“portb”的输出是否与行为级仿真一致,若一致则测试通过。如果不一致则必须返回原程序和行为级仿真,对时序进行仔细分析(因为这种情况大都是因为加入延迟后原来的时序发生改变)。

  
       3 IP核在RISC架构中的下载实例

  3.1 RISC处理器的选择与指令的测试

  我们选用MICrochip公司生产的PICl6c5x-Xilinx Spartan2系列中的Xc2s150微处理器下载.因为其FPGA芯片架构指令与8位RISC兼容.能够很容易实现RISC架构之指令集。

  RISC的测试激励文件是由汇编语言测试程序翻译而得到的.例如test3程序测试循环移位.test5测试逻辑操作指令、test8测试端口等。

  testl程序是测试incf和的decf指令的.行为级初步测试中,“portb”输出为“01”,如3.3中所述,这并不能说明没有问题接着做行为级进一步测试

  3.2 测试激励程序的加载步骤与验证

  选择“Project”莱单中的“News Source”选项,在弹出的“New”对话框左侧选择文件类型为“Test Bench Waveform”,填入文件名,单击下一步,在弹出的“select”对话框中选择关联的源为“anss_risc8_top”,单击下一步.然后单击“Finish”后会启动HDL Bencher.在这个软件环境中可以输入激励信号最后将由汇编测试程序翻译过来的机器码信息作为激励信号输入保存.输入测试时间后退出HDL Benche。

  在进一步测试中也没有问题,然后,我们可将测试程序进行如下改变.

    incf x,f:X<=FE
    incf x,f;X<=FF
    incf x,f:X<=00
    incf x,f;X<=01
    decf x,f:X<=00
    decf x,f:X<=FF
    decf x,f:X<=FE

  将程序中的最后一个incf改为的decf.这样制造了一个错误.重新进行仿真,发现"portb"的输出仍然为"01"而不是预想的"F1"。由此可见程序中存在问题。仔细分析后发现问题出现在“btfss”变为1时.此时alu_z为1而实际上它应该是0。由于alu_z出现在算术逻辑运算模块ALU的一个子模块alu_dp中,因此对alu_dp进行分析,在wave窗口中加入alu_dp模块的信号,同时在ISE4.1i中打开alu_dp的源文件进行分析.经分析发现alu_z变为1是由于源程序中对alu_z的处理不完备.少考虑了一种情况。根据这种情况对源程序alu_dp.vhd进行修改如下:

  a.signal bittest,temp:std_logIC_vector(7 downto 0);
    --add signal temp
    b.u_zero:process(bittest,op,longq)
    begin
    if(bittest=ZEROBYTE)  and  (op=ALU_OP_BITTESTCLR)
    then zero<=\'1\';
    elsif(bittest/=ZEROBYTE)  and  (op=ALU_OP_BITTESTSET)
    then zero<=\'1\';
    elsif longq(7 downto 0)=ZEROBYTE and(op/=ALUOP_BITTESTSET)
    then zero<=\'1\';--new add
    elsif temp="zerobyte" and op="ALUOP"_BITTESTSET
    then zero<=\'1\';--new add
    else
    zero<=\'0\';
    end if;
    end process;
    c.bittest<=bitdecoder and a;
    temp<=bitdecoder or a; --new add

  修改存储源程序后再次仿真的结果是正确的(即portb输出为“F1”)。将测试程序恢复,仿真结果也是正确的。再进行后仿真也正确.至此.test1程序测试完毕。

  4 结束语

  集成电路发展到超大规模阶段后,芯片中凝聚的知识已经高度浓缩。专有知识产权的IP核设计及其再利用是保证SoC开发效率和质最的重要手段。 随着CPLD/FPGA的规模越来越大,设计越来越复杂,IP核是必然的发展趋势。

关键字:VHDL  IP核验证 引用地址:基于VHDL语言的IP核验证

上一篇:基于FPGA和FLASH ROM的图像信号发生器设计
下一篇:大同时代的便携产品个性设计启示

推荐阅读最新更新时间:2024-05-02 22:10

基于VHDL的MTM总线主模块有限状态机设计
    MTM总线(Module Testing and Maintenance bus,MTMbus)是一种同步、串行、用于系统级的背板测试及维护总线,可以实现IEEE1149.5标准所规定的故障检测、容错以及扩展的命令集。该技术已经被美军“宝石柱”和“宝石台”计划的航空电子系统体系结构采用。     当前MTM总线主模块有限状态机主要采用VerilogHDL程序编写的状态机描述,Verilog HDL语言并不可以进行系统级的硬件描述。     VHDL是一种标准化的硬件描述语言,不仅可以用于系统级的硬件描述而且在设计系统硬件时没有嵌入与工艺有关的信息,在工艺更新时无须修改原设计程序。文中设计的状态机采用“单进程”式状态机描述,与
[嵌入式]
基于VHDL的SDRAM控制器的实现
  在高速实时或者非实时信号处理系统当中,使用大容量存储器实现数据缓存是一个必不可少的环节,也是系统实现中的重点和难点之一。SDRAM(同步动态随机访问存储器)具有价格低廉、密度高、数据读写速度快的优点,从而成为数据缓存的首选存储介制裁。但是SDRAM存储体结构与RAM有较大差异,其控制时序和机制也较复杂,限制了SDRAM的使用。目前,虽然一些能家长微处理器提供了和SDRAM的透明接口,但其可扩展性和灵活性不够,难以满足现实系统的要求,限制了SDRAM的使用。   在详细阐读SDRAM数据文档的前提下,参考ALTERA公司的IP core,利用可编程器件(CPLD,FPGA)设计了一种通用的SDRAM控制器。它具有很高的灵活性
[嵌入式]
用于谐波检测中的数字低通滤波器的MATLAB设计
  由于电力系统中非线性电子元件的大量使用,使得谐波污染问题日益严重,当谐波含量超过一定限度时就可能对电网和用户造成极大的危害,且增加线路损耗,降低线路传输能力,干扰通信信号等。因此,应该积极寻找一种治理谐波污染的有效手段。   目前有源电力滤波器(APF)是治理电网谐波污染的一种有效手段,APF的补偿原理是实时产生一个与系统中的无功和谐波电流大小相等、方向相反的补偿电流,用以抵消非线性负载产生的无功和谐波电流,使流入电网的电流全是有功分量,因此无功和谐波电流的实时检测就成为实时补偿的关键。而谐波及无功电流的检测实质就是低通滤波器的设计。本文利用MATLAB中的FDAtool实现了对数字低通滤波器模型的快速设计,并采用VHDL语
[工业控制]
基于VHDL的微型打印机控制器设计
   1 引言   VHDL是一种面向设计、多层次的数字系统设计的标准化硬件描述语言,VHDL不需依赖冯·诺伊曼结构,可实现时序和真正并行设计,从而开辟一种全新的数字系统的设计途径。使用VHDL语言更便于建立层次结构和元件结构设计。VHDL编写的电路模块代码可重复利用,故简化设计,缩短设计时间,提高工作效率。   2 TP UP-SF微型打印机简介   TP UP-SF系列的高速微型打印机,采用针式撞击点阵打印,是一类体积小、打印速度快的打印输出设备。该系列打印机配有串行和并行接口,实现汉字的高速打印,可装外径70 mm大打印纸卷。此系列打印机比较小巧,携带方便,适用于小型收款机、小型计费器、信用卡终端等各种应用场
[嵌入式]
EMCCD相机数字控制系统的VHDL设计
电荷耦合器件(CCD)现在广泛应用于天文图像。 传统的CCD读出较慢且在高帧率的情况下有很高的读出噪音,这限制了它在高时间分辨率天文学的应用。 21世纪初,英国的E2V 公司和美国TI公司各自独立地研发了一种具有新型读出结构的CCD 器件,即电子倍增CCD(Electron Multiplying Charge Coupled Device),简记为EMCCD.这是新一代高质量微光成像器件。与传统的CCD相比,它采用了片上电子增益技术,利用片上增益寄存器使图像信息在电子转移过程中得到放大,这使得它在很高的读出速率下仍具有相对很低的读出噪声,能在微光源下高分辨率成像。 EMCCD 的这些特性,使得它能对微弱光信号进行快速
[电源管理]
EMCCD相机数字控制系统的<font color='red'>VHDL</font>设计
一种基于Petri网的并行控制器的VHDL实现
  摘 要: Petri网是离散事件系统建模的重要工具,本文使用硬件描述语言VHDL实现了基于Petri网的并行控制器。文中通过一个液位控制系统实例具体介绍了这一方法,并通过仿真波形证明了该方法的正确性。这对于离散事件系统并行控制器的设计具有十分重要的意义。   Petri网是异步并发系统建模与分析的一种重要工具,1962年由德国科学家C.A.Petri博士创立。40多年来,Petri网理论得到了很大的丰富和发展,其应用领域也在不断扩大,越来越受到国际同行的重视,已成为计算机、自动化和通信领域的热门研究课题。Petri网既有直观的图形表示,又有深厚的数学基础;既是层次化的结构模型,又能反映系统的动态性能 。用硬件描述语言进行电
[嵌入式]
一种基于Petri网的并行控制器的<font color='red'>VHDL</font>实现
基于FPGA的数字式心率计的设计实现
  心率计是常用的医学检查设备,实时准确的心率测量在病人监控、临床治疗及体育竞赛等方面都有着广泛的应用。心率测量包括瞬时心率测量和平均心率测量。瞬时心率不仅能够反映心率的快慢。同时能反映心率是否匀齐;平均心率虽只能反映心率的快慢,但记录方便,因此这两个参数在测量时都是必要的。   测量心率有模拟和数字两种方法。模拟方法是在给定的时间间隔内计算R波(或脉搏波)的脉冲个数,然后将脉冲计数乘以一个适当的常数测量心率的。这种方法的缺点是测量误差较大、元件参数调试困难、可靠性差。数字方法是先测量相邻R波之间的时间,再将这个时间转换为每分钟的心跳数测量心率的。这种方法的优点是测量精度高、可靠性好,并且能同时测量瞬时心率和平均心率。用数字方法
[医疗电子]
基于FPGA的数字式心率计的设计实现
8位51单片机与以太网控制器RTL8029接口的VHDL设计
    51系列单片机是当前使用最为广泛的8位单片机系列,其丰富的开发资源和较低的开发成本,使51系列单片机现在以至将来都仍会有强大的生命力。在网络技术飞速发展的今天,实际工作中有将51系列单片机系统接入网络的需求。由于5 1系列单片机没有集成以太网接口,因此,如何将51系列单片机系统接入网路是一个值得探讨的课题,其关键就是在硬件上如何实现单片机与以太网控制器的接口。本文将讨论这一课题。 1 以太网控制器     台湾Realtek公司的以太网控制器是一种符合IEEE802.3以太网标准的控制器,有RTL8019、RTL8029和RTL8139等系列。其中RTL8019是ISA总线的,较易与8位MCU实现接口。RTL8029和R
[单片机]
8位51单片机与以太网控制器RTL8029接口的<font color='red'>VHDL</font>设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved