1 ispLEVER软件简介
电子设计自动化(EDA)是将计算机技术应用于电子设计过程而形成的一门新技术,它已被广泛应用于电力电子的设计和仿真、集成电路的版图设计、印刷电路板(PCB)的设计以及可编程器件的编程等各项工作中,是现代数字电子技术发展的潮流。
ispLEVER软件是一种全集成化的逻辑设计系统,是美国Lattice半导体公司在ispDesignEXPERT的基础上最近推出的一套EDA软件。设计输入可采用原理图、硬件描述语言、原理图和硬件描述语言混合输入三类方式,能对所设计的数字电子系统进行功能仿真和时序仿真。编译器是此软件的核心,能进行逻辑优化,将逻辑映射到器件中去,自动完成布局与布线并生成编程所需要的熔丝图文件。软件包含Syno1icity公司的“Synplify”综合工具和Lattice公司的ispVM器件编程工具。ispLEVER软件提供给开发者一个简单而有力的工具,用于设计所有Lattice公司可编程逻辑产品。软件支持所有Lattice公司的ispLSI、MACH、ispGDX、ispGAL、GAL器件。ispLEVER工具套件还支持Lattice新的ispXPGA和ispXPLD产品系列,并集成了Lattice公司ORCA Foundry设计工具的特点和功能。这使得ispLEVER的用户能够设计新的ispXPGA和ispXPLD产品系列,ORCA FPGA/FPSC系列和所有Lattice公司的业界领先的CPLD产品而不必学习新的设计工具。
2 设计步骤
使用ispLEVER软件工具进行设计主要包括:设计输入、设计校验、设计仿真、器件编程4个步骤。前3个阶段在ispLEVER项目管理器(ispLEVER PROJECT NAVIGATOR)中实现,器件编程在ispVMSYSTEM中实现。
2.1 设计输入
设计输入有原理图、硬件描述语言、原理图和硬件描述语言混合输入三类方式,硬件描述语言支持VHDL、Verilog-HDL和ABEL-HDL输入,原理图和硬件描述语富混合输入支持原理图/VHDL、原理图/Verilog、原理图/ABEL输入方式。对初级设计用户而言,最为常用的是原理图、ABEL-HDL、原理图/A-BEL3种输入方式。
原理图输入:系统提供了15个元件库,从库中可选取所需元件,此外,用户还可以自己建立元件库,放在Local库中,更方便用户调用。
ABEL-HDL输入:在ispLEVER项目管理器中集成的文本编辑器里,输入用ABEL-HDL(Hardware Description Language)编写的文本设计文件(*.ABL),利用系统提供的编译功能对其进行语法判断和设计规范的综合判断。
原理图/ABEL输入:所谓ispLEVER的原理图和ABEL-HDL混合输入方式是指数字系统的顶层设计采用原理图输入方式,而底层设计采用ABEL-HDL输入方式。层次化设计是ispLEVER项目管理器的重要功能,利用它能够简化层次化设计的操作,完成比较复杂的数字系统设计,并使所设计的系统的结构更加直观,条理更清楚。利用层次化操作方法,可以随意设计更大的数字系统。设计方法可以是从顶层向底层逐层向下设计,也可从底层向顶层逐层向上设计。前者的优点是结构清晰,设计快速,后者的优势是可以分别对数字系统中的每一部件进行模拟测试,有利于构成可靠的总系统。
2.2 编译、仿真
对输入的源文件进行编译(校验),编译能否通过,决定于输入是否正确。原理图文件编译操作包括编译(COMPILE SCHEMATIC)和逻辑优化(REDUCE SCHEMATIC LOGIC)子操作。ABEL-HDL编译操作包括逻辑编译、逻辑优化和语法检查子操作。为了减少盲目性,建议先对低层文件后对高层文件进行编译。编译通过后,可输入测试向量,进行数字系统仿真(ispLEVER提供了功能仿真和时序仿真),通过波形观察器,观察仿真输出波形,判断是否符合设计要求,使设计者在实现硬件电路之前排除电路故障。
2.3 器件编程
当对设计文件进行了编译、连接、器件适配和仿真等操作以后,下一步的工作就是将生成的JEDEC文件下载到器件中。在ispLEVER中,Lattice器件的在系统编程是借助ispVM System软件来实现的。ispVM System是一个综合的将设计下载到器件的软件包,它同时也可以是一个独立的器件编程软件。该软件提供一种有效的器件编程方式,即采用由Lattice半导体公司或其他公司的设计软件所生成的JEDEC文件来对ISP器件编程。下载完成后器件便成为设计者的专用芯片。
3 设计举例
用原理图/ABEL混合输入方式设计一个8421BCD码十进制计数器,其设计步骤如下:
(1)启动ispLEVER软件,建立一个新的工程项目,命名为count10.syn。选择器件ispLSl1032E70LJ84。
(2)打开原理图编辑器,画出十进制计数器的顶层原理图,如图1所示。需要说明的是不同的数字系统其引脚锁定是不一样的,为了便于在实验箱验证设计结果,必须按照实验箱上的结构对输入和输出引脚进行锁定。我们采用的是杭州康芯电子有限公司生产的GW48-CK实验系统。
(3)从原理图编辑退出后,可以看到count10.sch下的CNT10前面有一个红‘?’,表示还未对新加的CNT10器件进行逻辑功能描述。双击的CNT10后,输入为文件名cnt10.abl的十进制计数器ABEL-HDL源文件:
(4)进入测试向量文本输入编辑器,输入文件名为count.abv的测试向量文本:
(5)编译原理图、ABEL-HDL源文件,用鼠标左键单击右窗的count(count.sch)项,使其变深色。此时右边Processes for Current Source栏中会出现Reduce Schematic Logic选项,双击该选项,就可以看到该工作过程。如果所设计的原理图没有问题,编译结束后会出现两个绿色的勾。同样方法,可以继续对cnt10.abl进行处理。如果cnt10.abl的文本设计没有问题,右边栏中Reduce Logic等选项也会出现两个绿色的勾。最后,以同样方法对count.abv进行处理。如果count.abv的文本设计没有问题,右边栏中Compile Test Vectors选项也会出现一个绿色的勾。
(6)功能仿真:用鼠标左键单击右窗的count(count.abv)项,双击右边Processes for Current Source栏中出现的Functional Simulation选项,进入Waveform viewer窗口,选择Edit菜单下的Show命令,可以观察所需的输入、输出波形,如图2所示。
(7)器件适配:选中器件ispLSl1032E-70LJ84,在右边的窗口中选中Fit Design,双击后完成适配编译,系统自动生成count.jed熔丝图文件。
(8)下载编程:将Lattice下载电缆连接好PC机的并行口和GW48-CK实验系统,打开实验系统的电源开关。
启动ispVM System,按ispTools→Scan Chain菜单,ispVM System软件会自动检测JTAG下载回路,找到回路中所有的器件型号,单击ADD DEVICE按钮,弹出Device Information对话框。在该对话框中的Data File栏里。选择需要下载的JED文件,完成上述步骤后按Project→Download菜单启动下载操作。下载完成,这时New Scan Configuration Setup子窗口中的Status栏显示PASS,并有一个绿色的圆点。
(9)实验验证:下载成功后既可进行硬件测试。先通过Gw48-CK上的模式选择健进行模式选择,在此选模式5。此时,GW48-CK实验系统上的“键8”为单脉冲按键,每按一次键,将对实验系统上的ispLSl1032E-70LJ84芯片的33号引脚输入一个脉冲,这样就可以对ispLsl1032E-70LJ84中已设计好的计数器进行加1操作。计数值通过7段译码器在数码管“数码8”上显示。若连续按键“键8”,“数码8”上的数就会递增,同时发光管“D1”将显示计数器的进位,当计到9时会发亮(进位输出)。