基于VHDL语言的IP核验证

最新更新时间:2007-04-28来源: 电子开发网关键字:SoC  代码  测试  覆盖 手机看文章 扫描二维码
随时随地手机看文章
引言

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

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核是必然的发展趋势。

关键字:SoC  代码  测试  覆盖 编辑:冀凯 引用地址:基于VHDL语言的IP核验证

上一篇:基于VHDL语言的IP核验证
下一篇:全数字三相晶闸管触发器IP软核设计

推荐阅读最新更新时间:2023-10-12 23:12

​新思科技发布2018.12新版Coverity 静态应用安全测试解决方案
增强企业应用安全测试的广度、深度和可扩展性 美国新思科技公司 (Synopsys, Nasdaq: SNPS)宣布发布其最新版的Coverity静态应用安全测试(SAST)解决方案,这能帮助各类机构更快地构建安全的应用程序。Coverity最新版本解决了企业应用安全开发团队日益增长的三大需求:可扩展性、多种编程语言和框架支持,以及全面的漏洞分析。 新思科技软件质量与安全部门亚太区董事总经理陈玉贞表示:“现今各类机构不断扩大其应用程序阵容,它们更大程度地依赖软件来执行关键业务功能并提供客户价值,与此同时,应用程序漏洞仍然是网络攻击最常见的攻击载体。这意味着企业应用程序安全团队必需能够评估其不断增长、且日益多样化的应用程序中的漏洞,同
[嵌入式]
​新思科技发布2018.12新版Coverity 静态应用安全<font color='red'>测试</font>解决方案
高通联合美国运营商测试手机大规模MIMO
美国运营商Verizon和高通已经成功完成了 LTE-Advanced技术的大规模MIMO测试,这将为明年的Android手机带来重大的网络速度提升。 该测试使用了爱立信的天线硬件和一款运行Qualcomm新型Snapdragon 845芯片和X20调制解调器的原型手机,这是首次在消费级设备上演示大规模MIMO。 Verizon首席网络工程师兼无线网络负责人Nicola Palmer说:“大规模MIMO是4G LTE的重要组成部分,并将在5G技术中发挥重要作用,可以降低数十亿个连接中的单位数延迟以及提高他们的可扩展性。” MIMO,多输入多输出技术(Multiple-Input Multiple-Output)是指在发射端
[半导体设计/制造]
基于虚拟仪器的新型汽车电子测试平台
摘要: 针对汽车电子的测试要求的日益增高,本文介绍了一种基于虚拟仪器的测试平台,可以极大地方便汽车电子产品的测试。 关键词: 虚拟仪器;汽车测试;LabVIEW;PXI 随着半导体及软件技术的快速发展,汽车电子在汽车产业中所占比例越来越大。从汽车的舒适性到稳定性乃至安全性的实现中,汽车电子产品都担任着至关重要的角色,并且正发挥着越来越广泛的作用。汽车电子产品厂商也正面临着巨大的市场挑战——提高产品质量、加快生产周期、降低生产成本等等。 在这样的条件下,对汽车电子产品的测试设备的要求日益增高,主要体现在以下方面。 复杂的测试要求 汽车电子产品在整车系统中的比例和实现的功能不断增加,要求其具有丰富的功能;随着基于
[应用]
一种基于渗透性测试的Web漏洞扫描系统设计与实现
0 引 言 CNCERT/CC 2006年的工作报告中显示,随着互联网的快速发展,我国公共互联网用户数量已超过1.37亿。在网络发展的同时,互联网作为一个运行系统和一个社会公共环境,所面对的和隐藏的安全威胁也越来越复杂,越来越严重。报告显示,2006年CNCERT/CC接收国内26 476件非扫描类网络安全事件报告中有24 477件是由于Web引起的。从2003年~2006年中国Web攻击事件统计中不难发现,通过Web漏洞进行攻击事件正在逐年迅速的增长。通过Web漏洞进行攻击成了网络漏洞攻击的主要方式与手段。 国内外的许多学术机构、企业和标准化组织在Web漏洞探测方面做了大量的工作。Web漏洞探测系统日趋成熟,当前,比较
[嵌入式]
测试显示S4屏幕远优于S3 与iPhone 5相当
    北京时间4月26日消息,三星Galaxy S4的显示屏性能比S3大有提高,它采用全1920X1080分辨率显示屏,PPI(每英寸像素)达441。   最近,DisplayMate对三星Galaxy S3、S4、iPhone 5显示屏进行了技术上的分析和对比。   总体来看,S4显示屏采用的OLED显示技术大有提升。最初OLED技术用在Nexus One上,花了近三年时间,OLED技术终于可以挑战最好LCD的性能了。对于OLED来说最大的挑战在于改进能耗效率和全屏峰值亮度。Galaxy S4显示屏的能耗效率比S3提高了20%,亮度提高了25%(在自动调节亮度时提高68%)。如果技术继续发展,在不久的将来OLED的亮度和能耗效率
[手机便携]
ARM推出全新高端移动体验IP组合
ARM近日宣布推出全新IP组合,为2016年上市的移动设备树立高端用户体验新标杆。这套IP组合是以业界现有针对移动系统级芯片(SoC)开发的最高性能处理器技术ARM Cortex-A72处理器为核心,在特定的配置下,Cortex-A72可以较五年前的高端智能手机提供高于50倍的处理器性能。ARM高端移动体验IP组合同时可在支持高达4K120帧分辨率的情况下,提供显著的图形处理性能升级,为用户带来震撼的视觉体验。基于这一全新业界领先技术组合的设备预计将于2016年面世。   ARM高端移动体验IP组合提供当今最引人入胜的移动技术,除了Cortex-A72处理器外,还包括最新的CoreLink CCI-500互连技术、ARM最
[单片机]
吉时利源表2602B应用测试分享(二)
上一期安泰测试为大家分享了吉时利源表2602B在调制输入、正向电压测试、反向击穿电压测试、漏电流测试的应用,那么吉时利源表2602B还能做哪些测试呢?安泰测试为您接着分享: 热敏电阻测试 典型的激光二极管模组中,热敏电阻在25℃下的标称阻值为10kΩ。在常规工作模式中,整个模组的热稳定性要比其绝对温度值更为关键。 一系列测试热敏电阻的技术如下: 1、维持激光二极管模组的温度在一个已知温度上,简单测量热敏电阻的阻值; 2、将一个特性已经测出的热敏电阻热耦合到激光二极管模组上,使整个组装体达到热平衡,比较特性已知热敏电阻与激光二极管热敏电阻的阻值; 3、在制造过程中,设定一个足以包含激光二极管模组温度的阻值范围。为了避免热敏电
[测试测量]
吉时利源表2602B应用<font color='red'>测试</font>分享(二)
8051、ARM和DSP指令周期的测试与分析
摘要 在实时嵌入式控制系统中,指令周期对系统的性能有至关重要的影响。介绍几种最常用的微控制器的工作机制,采用一段循环语句对这几种微控制器的指令周期进行测试,并进行分析比较。分析结论对系统控制器的选择有一定的指导作用。 关键词 指令周期测试 AT89S51 LPC2114 TMS320F2812   在实时控制系统中,选择微控制器的指标时最重要的是计算速度的问题。指令周期是反映计算速度的一个重要指标,为此本文对三种最具代表性的微控制器(AT89S51单片机、ARM7TDMI核的LPC2114型单片机和TMS320F2812)的指令周期进行了分析和测试。为了能观察到指令周期,将三种控制器的GPIO口设置为数字输出口,并采用循环不断地置
[应用]
小广播
最新半导体设计/制造文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 市场动态 半导体生产 材料技术 封装测试 工艺设备 光伏产业 平板显示 EDA与IP 电子制造 视频教程

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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