1、*原理图和硬件描述语言混合输入2. 逻辑模拟* 功能模拟* 时序模拟3. 编译器* 结构综合、映射、自动布局和布线4. 支持的器件* 含有支持ispLSI器件的宏库及MACH器件的宏库、TTL库* 支持所有ispLSI、MACH、ispGDX、ispGAL、GAL、ORCA FPGA/FPSC、ispXPGA和ispXPLD器件5. Constraints Editor工具I/O参数设置和引脚分配6.ispVM工具对ISP器件进行编程软件支持的计算机平台:PC: Windows 98/NT/2000/XP第二节 ispLEVER开发工具的原理图输入I. 启动ispLEVER(按Start=Pr
2、ograms=Lattice Semiconductor=ispLEVER Project Navigator)II. 创建一个新的设计项目A. 选择菜单File。B. 选择New Project.。C. 在Create New Project对话框的Project Name栏中,键入项目名d:userdemo.syn。在Project type栏中选择Schematic/ABEL(ispLEVER软件支持Schematic/ABEL、Schematic/VHDL、Schematic/Verilog等的混合设计输入,在此例中,仅有原理图输入,因此可选这三种中的任意一种)。D. 你可以看到默认的
3、项目名和器件型号: Untitled and ispLSI5256VE-165LF256。III. 项目命名A. 用鼠标双击Untitled。B. 在Title文本框中输入“Demo Project”,并选OK。IV. 选择器件A. 双击ispLSI5256VE-165LF256, 你会看到Device Selector对话框(如下图所示)。B. 在Select Device窗口中选择ispMACH 4000项。C. 按动器件目录中的滚动条,直到找到并选中器件LC4032V-10T44I。D. 揿OK按钮,选择这个器件。E. 在软件弹出的如下图显示的Confirm Change窗口中,按Yes
4、按钮。F. 因改选器件型号后,先前的约束条件可能对新器件无效,因此在软件接着弹出的如下图显示的ispLEVER Project Navigato窗口中,按Yes按钮,以用来去除原有的约束条件。V. 在设计中增加源文件一个设计项目由一个或多个源文件组成。这些源文件可以是原理图文件(*.sch)、ABEL HDL文件(*.abl)、VHDL设计文件(*.vhd)、Verilog HDL设计文件(*.v)、测试向量文件(*.abv) 或者是文字文件(*.doc, *.wri, *.txt)。在以下操作步骤中,你要在设计项目中添加一张空白的原理图纸。A. 从菜单上选择Source 项。B. 选择New
5、. 。C. 在对话框中,选择Schematic(原理图),并按OK。D. 输入文件名demo.sch。E. 确认后揿OK。VI. 原理图输入你现在应该进入原理图编辑器。在下面的步骤中,你将要在原理图中画上几个元件符号,并用引线将它们相互连接起来。A. 从菜单栏选择Add, 然后选择Symbol,你会看到如下图所示的对话框:B. 选择GATES.LIB库,然后选择G_2AND元件符号。C. 将鼠标移回到原理图纸上,注意此刻AND门粘连在你的光标上,并随之移动。D. 单击鼠标左键,将符号放置在合适的位置。E. 再在第一个AND门下面放置另外一个AND 门。F. 将鼠标移回到元件库的对话框,并选择G
6、_2OR元件。G. 将OR门放置在两个AND门的右边。H. 现在选择Add菜单中的Wire项。I. 单击上面一个AND门的输出引脚,并开始画引线。J. 随后每次单击鼠标,便可弯折引线 (双击便终止连线)。K. 将引线连到OR门的一个输入脚。L. 重复上述步骤,连接下面一个AND门。VII. 添加更多的元件符号和连线A. 采用上述步骤,从REGS.LIB库中选一个g_d寄存器,并从IOPADS.LIB库中选择G_OUTPUT符号。B. 将它们互相连接,实现如下的原理图:VIII. 完成你的设计在这一节,通过为连线命名和标注I/O Markers来完成原理图。当要为连线加信号名称时,你可以使用is
7、pLEVER的特点,同时完成两件事-同时添加连线和连线的信号名称。这是一个很有用的特点,可以节省设计时间。I/O Markers是特殊的元件符号,它指明了进入或离开这张原理图的信号名称。注意连线不能被悬空(dangling),它们必需连接到I/O Marker或逻辑符号上。这些标记采用与之相连的连线的名字,与I/O Pad符号不同,将在下面定义属性(Add Attributes)的步骤中详细解释。A. 为了完成这个设计,选择Add菜单中的Net Name项。B. 屏幕底下的状态栏将要提示你输入的连线名,输入A 并按Enter键,连线名会粘连在鼠标的光标上。C. 将光标移到最上面的与门输入端,并
8、在引线的末连接端(也即输入脚左端的红色方块),按鼠标左键,并向左边拖动鼠标。这可以在放置连线名称的同时,画出一根输入连线。D. 输入信号名称现在应该是加注到引线的末端。E. 重复这一步骤,直至加上全部的输入B,C,D和CK,以及输出OUT。F. 现在选择Add菜单的I/O Marker项。G. 将会出现一个对话框,请选择Input。H. 将鼠 标 的光标移至输入连线的末端(位于连线和连线名之间),并单击鼠标的左键。这时回出现一个输入I/O Marker,标记里面是连线名。I. 鼠标移至下一个输入,重复上述步骤,直至所有的输入都有I/OMarker。J. 现在请在对话框中选择Output,然后单
9、击输出连线端,加上一个输出I/O Marker。K. 至此原理图就基本完成,它应该如下图所示。IX. 定义器件的属性(Attributes)你可以为任何一个元件符号或连线定义属性。在这个例子中,你可以为输出端口符号添加引脚锁定LOCK的属性。请注意,在ispLEVER中,引脚的属性实际上是加到I/O Pad符号上,而不是加到I/O Marker上。同时也请注意,只有当你需要为一个引脚增加属性时,才需要I/O Pad符号,否则,你只需要一个I/O Marker。A. 在菜单条上选择Edit =Attribute =Symbol Attribute项,这时会出现一个Symbol Attribute
10、 Editor 对话框。B. 单击需要定义属性的输出I/O Pad。C. 对话框里会出现一系列可供选择的属性。D. 选择PinNumber属性,并且把文本框中的*替换成4(4为器件的引脚号)。这样,该I/O Pad上的信号就被锁定到器件的第四个引脚上了。E. 关闭对话框。F. 请注意,此时数字4出现在I/O Pad符号内。X. 保存已完成的设计从菜单条上选择File,并选Save命令。再选Exit命令。I. 建立仿真测试向量(Simulation Test Vectors)module demo;c,x = .c.,.x.;CK,A,B,C,D,OUTPIN;TEST_VECTORS(CK,A
11、, B,C,D-OUT)c,0, 0 ,0 , 0 - x ;1 , 0 -,1, 1 ,0, 1 ,0 , 1 -ENDA. 在已选择LC4032V-10T44I器件的情况下,选择Source菜单中的New.命令。B. 在对话框中,选择ABEL Test Vectors并按OK。C. 输入文件名demo.abv 作为你的测试向量文件名。D. 按OK。E. 文本编辑器弹出后,输入下列测试向量文本:F. 完成后,选择File菜单中的Save命令,以保留你的测试向量文件。G. 再次选择File,并选Exit命令。H. 此时你的项目管理器(Project Navigator)应如下图所示。II. 编
12、译原理图与测试向量现在你已为你的设计项目建立起所需的源文件,下一步是执行每一个源文件所对应的处理过程。选择不同的源文件,你可以从项目管理器窗口中观察到该源文件所对应的可执行过程。在这一步,请你分别编译原理图和测试向量。A. 在项目管理器左边的项目源文件(Sources in Project)清单中选择原理图(demo.sch)。B. 双击原理图编译(Compile Schematic)处理过程。C. 编译通过后,Compile Schematic过程的左边会出现一个绿色的查对记号,以表明编译成功。编译结果将以逻辑方程的形式表现出来。D. 然后从源文件清单中选择测试向量源文件(demo.abv)
13、。E. 双击测试向量编译(Compile Test Vectors)处理过程。III. 设计的仿真ispLEVER开发系统不但可以进行功能仿真(Functional Simulation),而且可以进行时序仿真(Timing Simulation)。在仿真过程中还提供了单步运行、断点设置功能。IV. 一、功能仿真A.在ispLEVER Project Navigator的主窗口左侧,选择测试向量源文件(demo.abv),双击右侧的Functional Simulation功能条。将弹出如下图所示的仿真控制窗口(Simulator Control Panel)。B.在Simulator Con
14、trol Panel中,将根据(*.abv)文件中所给出的输入波形进行一步到位的仿真。在Simulator Control Panel中,按Simulate=Run,再按Tools = Waveform Viewer菜单,将打开波形观察器Waveform Viewer如下图所示。C.波形现在都显示在波形观察器的窗口中,如下图所示:D.单步仿真。选Simulator Control Panel窗口中的Simulate=Step可对您的设计进行单步仿真。ispLEVER中仿真器的默认步长为100ns,您可根据需要在按Simulate=Settings菜单所激活的对话框(Setup Simulato
15、r)中重新设置您所需要的步长。按Simulator Control Panel窗口中的Simulate=Reset菜单,可将仿真状态退回至初始状态(0时刻)。随后,每按一次Step,仿真器便仿真一个步长。下图是按了七次Step钮后所显示的波形(所选步长为100ns)。E.设置断点(Breakpoint)。在Simulator Control Panel窗口中,按Signal=Breakpoints菜单,会显示如下图所示的断点设置控制的Breakpoint窗口。在该窗口中按New按钮,开始设置一个新的断点。在Available Signals栏中单击鼠标选择所需的信号,在窗口中间的下拉滚动条中可
16、选择设置断点时该信号的变化要求,例如:-0,指该信号变化到0状态;!=1,指该信号处于非1状态。一个断点可以用多个信号所处的状态来作为定义条件,这些条件在逻辑上是与的关系。最后在Breakpoints窗口中,先选中ADD,再按Arm按钮使所设断点生效。本例中选择信号OUT-?作为断点条件,其意义是指断点条件成立的条件为OUT信号发生任何变化(变为0,1,Z或X状态)。这样仿真过程中在0ns,700ns,1000ns时刻都会遇到断点。F.波形编辑(Waveform Edit)。除了用*.abv文件描述信号的激励波形外,ispLEVER还提供了直观的激励波形的图形输入工具Waveform Edit
17、or。以下是用Waveform Editor编辑激励波形的步骤(仍以设计demo.sch为例):在Simulator Cotrol Panel窗口中,按Tools=Waveform Editor菜单,进入波形编辑器窗口(Waveform Editing Tool),如下图所示:2.在上述窗口中按Object=Edit Mode,将弹出如下图所示的波形编辑子窗口:3.在Waveform Editing Tool窗口中按Edit=New Wave菜单,弹出如下窗口:在该窗口中的Polarity选项中选择Input,然后在窗口下部的空格中输入信号名:A,B,C,D,CK。每输完一个信号名按一次Add
18、钮。4.在完成上述步骤3以后,Waveform Editing Tool窗口中有了A,B,C,D,CK的信号名,如下图所示:单击窗口左侧的信号名A,开始编辑A信号的激励波形。单击0时刻右端且与A信号所处同一水平位置任意一点,波形编辑器子窗口中将显示如下信息:在States栏中选择Low,在Duration栏中填入200ns并按回车键。这时,在Waveform Editing Tool窗口中会显示A信号在0-200ns区间为0的波形。然后在Waveform Editing Tool窗口中单击200ns右侧区间任一点,可在波形编辑器的子窗口中编辑A信号的下一个变化。重复上述操作过程,编辑所有输入信
19、号A,B,C,D,CK的激励波形,并将它存盘为wave_in.wdl文件。完成后,Waveform Editing Tool窗口如下图所示:5.在Waveform Editing Tool菜单中,按File=Consistency Check菜单,检测激励波形是否存在冲突。在该例中,错误信息窗口会提示No Errors Dected。至此,激励波形已描述完毕,剩下的工作是调入该激励文件(wave_in.wdl)进行仿真:回到ispLEVER Project Navigator 主 窗 口, 按 Source=Import菜单,调入激励文件wave_in.wdl。在窗口左侧的源程序区选中Wave
20、_in.wdl文件,双击窗口右侧的Functional Simulation栏进入功能仿真流程,以下的步骤与用*.abv描述激励的仿真过程完全一致,在此不再赘述。二、时序仿真(Timing Simulation)时序仿真的操作步骤与功能仿真基本相似,以下简述其操作过程中与功能仿真的不同之处。仍以设计Demo为例,在ispLEVER Project Navigator主窗口中,在左侧源程序区选中Demo.abv,双击右侧的Timing Simulation栏进入时序仿真流程。由于时序仿真需要与所选器件有关的时间参数,因此双击Timing Simulation栏后,软件会自动对器件进行适配,然后打
21、开与功能仿真时间相同的Simulator Control Panel窗口。时序仿真与功能仿真操作步骤的不同之处在于仿真的参数设置上。在时序仿真时,打开Simulator Control Panel窗口中的Simulate=Settings菜单,产生Setup Simulator对话框。在此对话框中可设置延时参数(Simulation Delay)最小延时(Minimun Delay)、典型延时(Typical Delay)、最大延时(Maximun Delay)和0延时(Zero Delay)。 最小延时是指器件可能的最小延时时间,0延时指延时时间为0。在Setup Simulator对话框中
22、, 仿真模式(Simulation Mode)可设置为两种形式:惯性延时(Inertial Mode)和传输延时(Transport Mode)。将仿真参数设置为最大延时和传输延时状态,在Waveform Viewer窗口中显示的仿真结果如下图所示:由图可见,与功能仿真不同的是:输出信号OUT的变化比时钟CK的上升沿滞后了5ns。IV.建立元件符号(Symbol)ispLEVER工具的一个非常有用的特点是能够迅速地建立起一张原理图的符号。通过这一步骤,你可以建立一个可供反复调用的逻辑宏元件,以便放置在更高一层的原理图纸上。下一节将指导你如何调用。这里仅教你如何建立元件符号。A. 双击原理图的资
23、源文件demo.sch,把它打开。B. 在原理图编辑器中,选择File菜单。C. 从下拉菜单中,选择Matching Symbol命令。D. 关闭原理图。E. 至此,这张原理图的宏元件符号已经建立完毕,并且被加到元件表中。你可以在下一节中调用这个元件。第四节硬件描述语言和原理图混合输入ispLEVER软件支持ABEL/原理图、VHDL/原理图、Verilog/原理图的混合输入。这一节,我们以ABEL/原理图为例,介绍硬件描述语言和原理图混合输入的方法。现在,你要建立一个简单的ABEL HDL语言输入的设计,并且将其与上一节中完成的原理图进行合并,以层次结构的方式,画在顶层的原理图上。然后对这个
24、完整的设计进行仿真、编译,最后适配到器件中。现在我们就开始吧!I启动ispLEVER如果你在上一节的练习后退出了ispLEVER,点击Start = Programs = LatticeSemiconductor = ispLEVER菜单,屏幕上你的项目管理器应该如下图所示。II建立顶层的原理图A. 仍旧选择LC4032V-10T44I器件,从菜单条上选Source。B. 选择New.C. 在对话框中选Schematic,并按OK。D. 在文本框中输入文件名top.sch,并按OK。E. 现在你就进入了原理图编辑器。F. 调用上节中创建的元件符号。选择Add菜单中的Symbol项,这时会出现S
25、ymbol Libraries对话框,选择Local的库,你会注意到在下部的文本框中有一个叫demo的元件符号,这就是你在上一节中自行建立的元件符号。G. 选择demo元件符号,并放到原理图上的合适位置。II. 建立内含ABEL语言的逻辑元件符号现在你要为ABEL HDL设计文件建立一个元件符号。只要知道了接口信息,你就可以为下一层的设计模块创建一个元件符号。而实际的ABEL设计文件可以在以后再完成。A. 在原理图编辑器里,选择ADD菜单里的New Block Symbol.命令。B. 这时候会出现一个对话框,提示你输入ABEL模块名称及其输入信号名和输出信号名。请按照下图所示输入信息:C.
26、当你完成信号名的输入,揿Run按钮,就会产生一个元件符号,并放在本地元件库中。同时元件符号还粘连在光标上,随之移动。D. 把这个符号放在demo符号的左边。E. 单击鼠标右键,就会显示Symbol Libraries的对话框。请注意abeltop符号出现在Local库中。F. 关闭对话框。你的原理图应该如下图所示:III. 完成原理图现在请你添加必需的连线,连线名称,以及I/O标记,来完成顶层原理图,使其看上去如下图所示。如果你需要帮助,请参考第二节中有关添加连线和符号的指导方法。当你画完后,请存盘再退出。IV. 建立ABEL-HDL源文件现在你需要建立一个ABEL源文件,并把它链接到顶层原理
27、图对应的符号上。项目管理器使这些步骤简化了:A. 你当前的管理器应该如下图所示:B. 请注意abeltop左边的红色“?”图标。这意味着目前这个源文件还是个未知数,因为你还没有建立它。同时也请注意源文件框中的层次结构,abeltop和demo源文件位于top原理图的下面并且偏右,这说明它们是top原理图的底层源文件。这也是ispLEVER项目管理器另外一个有用的特点。C. 为了建立所需的源文件,请选择abeltop,然后选择Source菜单中的New.命令。D. 在New Source对话框中,选择ABEL-HDL Module并按OK。E. 下一个对话框会问你模块名,文件名,以及模块的标题。
28、为了将源文件与符号相链接,模块名必须与符号名一致,而文件名没有必要与符号名一致。但为了简单,你可以给它们取相同的名字。按下图所示,填写相应的栏目:F. 按OK。你就进入了Text Editor,而且可以看到ABEL HDL设计文件的框架已经呈现在你的面前。G. 输入下列的代码。确保你的输入代码位于TITLE语句和END语句之间。MODULE abeltopTITLE This is the Top Level ABEL file InputsIN1,IN2,IN3 pin;OutputsOUT1,OUT2,OUT3,OUT4pin;EquationsOUT1=IN1 & !IN3;OUT2=IN1 &IN2;OUT3=!IN1 & IN2 & IN3;OUT4=IN2 &H. 当你完成后,选择File菜单中的Save命令。I. 退出文本编辑器。J. 请注意项目管理器中abeltop源文件左边的图标已经改变了。这就意味着你已经有了一个与此源文件相
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1