第4章 常用EDA工具软件操作指南 4.1 Lattice ispEXPERT 操作指南

Slides:



Advertisements
Similar presentations
什么是SOPC: SOPC是英文System On a Programmable Chip的缩写,称为片上可编程系统。SOPC将传统的EDA技术、计算机系统、嵌入式系统、数字信号处理等融为一体,综合了各自的优势,且在结构上形成一块芯片。 为什么用SOPC:SOPC是现代电子技术和电子系统设计的发展趋势,建立了电子系统设计的新模式。用户利用SOPC开发平台,自行设计高速、高性能的DSP处理器、特定功能的CPU及其外围接口电路,创建结构最为简洁的电子系统。
Advertisements

SOPC技术 数字逻辑电路 主讲:刘昌华 嵌入式技术研究所
第2章 SOPC硬件开发环境及流程.
单片机应用技术 项目一 循环彩灯装置 第7讲 Keil软件的使用 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
Composer Automation Architect
《 E D A 技 术》 课 程 教 学 讲授:伍宗富 湖南文理学院电气与信息工程学院 2017年3月19日星期日.
第4章 VHDL设计初步.
電腦病毒簡介與應用軟體簡介 趙涵捷.
Combinational Logic 組合邏輯
ALTERA FLEX10K / FLEX10KE Emulation Board 使用說明書.
电工电子实验中心.
AKA Embedded 开放实验室系列普及讲座之一 FPGA/CPLD的应用和开发简介
EPF10K10TI144-4晶片燒錄.
第三章 组合逻辑电路 第一节 组合电路的分析和设计 第二节 组合逻辑电路中的竞争与冒险 第三节 超高速集成电路硬件描述语言VHDL
第1章 FPGA概述 1.1 FPGA的发展历程 1.2 FPGA的基本原理 1.3 FPGA的设计方法 1.4 FPGA的设计流程
第2章 建立Android應用程式 2-1 Java語言、XML文件與Android 2-2 建立第一個Android應用程式
2-1 基本直流分析. 2-1 基本直流分析 新專案(Project)的建立 點選 File/New/Project.
VHDL數位電路實習與專題設計 文魁資訊-UE301
Altium Designer 教程 ——原理图、PCB设计.
第6章 CCS集成开发环境 6.1 CCS系统安装与设置 6.2 CCS菜单和工具栏 6.3 CCS中的编译器、汇编器和链接器选项设置
VHDL數位電路實習與專題設計 文魁資訊-UE301
簡易 Visual Studio 2010 C++ 使用手冊
浅谈基于FPGA的电路设计 报告人:吴爱平 2005/11/13
版权所有,禁止未经授权的商业使用行为 何宾 Tel: 北京中教仪装备技术有限公司.
EDA技术实用教程 第1章 概 述.
第4章 PIC软件开发设计基础.
EDA原理及应用 何宾
使用VHDL設計—4位元減法器 通訊一甲 B 楊穎穆.
EDA原理及应用 何宾
第四阶段实验 ISP器件的设计与应用 一、实验目的 二、实验内容与要求 三、ISP器件的开发流程 四、EDA Pro2K实验系统介绍
欢迎参加VHDL培训 VHDL培训教程 浙江大学电子信息技术研究所 电子设计自动化(EDA)培训中心
使用VHDL設計—向上&向下計數器 通訊一甲 B 楊穎穆.
   OR-CAD培训教程 欢迎参加OR-CAD培训      .
EDA 原理及应用 何宾
使用VHDL設計-XOR_GATE 通訊一甲 B 楊穎穆.
第2章 Quartus II设计向导 2.1 频率计的VHDL设计 2.2 使用宏功能块设计频率计 2.3 嵌入式系统块ESB的应用
QUARTUSⅡ使用简介 高级电子系统设计课程 电路与系统 信息学院
EDA 原理及应用 何宾
第三章 项目设定.
數位邏輯設計 題目:七段顯示器 姓名:黃志民 學號:B 數位邏輯設計.
Programmable Logic Architecture Verilog HDL FPGA Design
使用VHDL設計--Moore Machine
EDA 技术实用教程 第 5 章 QuartusII 应用向导.
第9章 DSP集成开发环境CCS 内容提要 CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。 本章对CCS开发软件的使用作了详细地介绍。首先,对CCS开发软件作了简要地说明,并介绍了该软件的安装及配置;其次,介绍了CCS的基本操作,包括:CCS的窗口和工具条、文件的编辑、反汇编窗口、存储器窗口、寄存器窗口、观察窗口
簡易 Visual Studio 2005 C++ 使用手冊
第2章 绘制多谐振荡器电路原理图 教学目的及要求: 1.熟悉电路中的各种元器件之间建立连接 2.熟悉网络标记的含义,会正确放置网络标记
7.1 新建原理图元件库文件 7.2 打开原理图元件库 7.3 原理图元件库编辑器界面介绍 7.4 创建新的原理图元件符号
第六章 VHDL设计共享.
第五章 VHDL主要描述语句.
使用VHDL設計—4位元ALU電路 通訊一甲 B 楊穎穆.
第一次上机安排 第六周 第七周 周一晚(提高1、2,通信001~012) 周二上(通信014~085) 周四上(通信086~154)
虚拟三维场景再现及属性层的叠加 主要内容: 1、 学习ERDAS软件安装; 2、 了解VirtualGIS模块;
第5章 元器件封装库的创建(2).
第一章 认识PROTEL DXP   本章介绍了Protel DXP的在EDA设计中的作用机安装、卸载过程,对于已经熟练掌握Protel电路设计和计算机软件相关知识的用户,可以直接跳过本章,进入下一章的学习。
计算机学院 数字逻辑实验的要求.
长春工业大学工程训练中心 EDA技术及应用实践课程 Maxplus Ⅱ 软件开发系统简述 主讲:刘春阳 长春工业大学工程训练中心
數位邏輯設計 VHDL.
Xilinx FPGA Design Flow
第四章 QuartusII软件的应用 本章重点: 本章难点: EDA技术 QuartusII的设计输入 QuartusII软件的综合与编译
使用VHDL設計-XOR_GATE 通訊一甲 B 楊穎穆.
使用VHDL設計-8x1多工器 通訊一甲 B 楊穎穆.
第7章 创建元件库及元件封装 创建原理图元件库 创建PCB元件库及封装 元件封装检错和元件封装库报表 创建项目元件库 项目实训 7.1
第二章ADS1.2开发环境创建与简介.
第7章 VHDL设计应用实例 7.1 8位加法器的设计 7.2 分频电路 7.3 数字秒表的设计.
MPLAB IDE 8 建立專案.
使用VHDL設計-七段顯示 通訊一甲 B 楊穎穆.
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2009年10月22日
Programmable Logic System Design
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
Programmable Logic System Design
Presentation transcript:

第4章 常用EDA工具软件操作指南 4.1 Lattice ispEXPERT 操作指南 4.2 Altera MAX+plus II操作指南 4.3 Xilinx Foundation操作指南

4.1 Lattice ispEXPERT 操作指南 4.1.1 ispEXPERT System的安装 1. 系统需求 ispEXPERT System在PC机上运行,支持Windows NT4.0,Windows 95,Windows 98或更高版本。下面是其最低配置要求: (1) IBM 486、Intel Pentium或与Pentium兼容的CPU。 (2) 16 MB内存(适用于1000、2000、3000和6000 系列),或32 MB内存(适用于5000 V 和 8000系列)。推荐使用32 MB/64 MB以上内存。

(3) 各安装需要的硬盘容量:典型安装为160 MB,全部安装为250 MB 。 (4) SVGA 显示器,分辨率为800×600或以上。 (5) 若为LSC_ADVANCED 用户,应通过E-mail向Latice公司申请授权,获取有关的解密文件。

2. 系统安装 (1) 安装:运行光盘根目录“\LATTICE\ispstr1.exe”安装 ispEXPERT System.;运行光盘根目录“\LATTICE\ ispstr2.exe”安装ispEXPERT Compiler。安装时使用默认选项。 (2) 解密:拷贝经授权获取的解密文件LFLXUTIL.DLL 到安装后的目录“\ispTOOLS\ISPCOMP\BIN”和“\ispTOOLS\ISPSYS\BIN”中并覆盖相同的文件;拷贝解密文件SYNDPM.EXE到安装后的目录“\ispTOOLS\ISPSYS\BIN”中并覆盖相同的文件;拷贝解密文件SYNTA.EXE到安装后的目录“\ispTOOLS\ISPSYS\BIN”中并覆盖相同的文件;拷贝解密文件LATLIC.DLL到安装后的目录“\ispTOOLS\SYNPLIFY\BIN\MBIN”中并覆盖相同的文件。 (3) 重新启动计算机。

4.1.2 原理图的设计操作指南 在“程序”栏中选"Lattice Semiconductor ispExpert System"→“ispEXPERT System"→进入“ispEXPERT System Project Navigator”主窗口(如图4.1),选择“Window”→“Schemtic”菜单即可进入原理图的设计。

图4.1 “ispEXPERT System Project Navigator”主窗口

这里的原理图的设计,不但可用于VHDL设计的原理图输入方式的设计,还可用于书稿、论文等各种插图的绘制。经笔者实践,使用该软件绘制插图,不但操作方便,可绘制各种形式的插图,而且对于已绘的图形,可任意剪辑、复制和删除,绘制效率高。同时使用该软件绘制的插图,经复制、粘贴插入WORD等文档后,不但可根据需要任意对图形进行拉伸和压缩,拉伸和压缩后图中的文字不变形,而且文档存储空间的大小较WORD中的绘图板、CoreDraw等绘制的文件小30%以上。用于VHDL设计的原理图输入方式的设计,在后面的有关软件的使用中将介绍,限于篇幅,这里就不予介绍,这里主要介绍一下利用该软件如何进行原理图的绘制。 在原理图的设计中,最基本的操作有绘图环境设置(Options)、图形绘制(Add)、图形编辑(Edit)和文件管理(File)等操作。

1. 绘图环境设置(Options) 绘图之前,首先要进行绘图环境的设置。绘图环境的设置,通过选择原理图编辑器主菜单中的“Options”下的各菜单项来实现。常用的绘图环境的设置项有两个:图形选项(Graphic Options)和优先选项(Preferences)。其各项目的设置选项及作用如图4.2和图4.3所示。

图4.2 图形选项的设置选项及作用

图4.3 优先选项的设置选项及作用

2.图形绘制(Add) 图形绘制的基本单元操作选项如图4.4所示。其中最常用的基本单元操作有调用系统库中的元件符号(Symbol),绘制直线(Wire)、弧(Arc)、圆(Circle)、矩型(Rectangle)和输入文本(Text)。绘制基本单元的操作方法是:先在子菜单/工具条中选中该操作项,再在绘图的起点按住鼠标至绘图的终点松开鼠标即可。

2.图形绘制(Add) 图形绘制的基本单元操作选项如图4.4所示。其中最常用的基本单元操作有调用系统库中的元件符号(Symbol),绘制直线(Wire)、弧(Arc)、圆(Circle)、矩型(Rectangle)和输入文本(Text)。绘制基本单元的操作方法是:先在子菜单/工具条中选中该操作项,再在绘图的起点按住鼠标至绘图的终点松开鼠标即可。

图4.4 图形绘制的基本单元操作选项

3.图形编辑(Edit) 图形编辑主要是指对已存在的图形进行移动、旋转、内复制、删除、外拷贝等操作。各种操作项目如图4.5所示。最基本的操作有已绘图形的移动(Move)、90度旋转(Rotate)、镜面旋转(Mirror)、复制多用(图形内)(Duplicate)、删除(Delete)以及库符号的编辑(Symbol)、已绘图形的拷贝(对外)输出(Copy)等。

图4.5 图形编辑的操作项目

移动、内复制、删除的操作方法是:先在子菜单/工具条中选中该操作项,再用鼠标点中或按住鼠标用一个方框选中该操作对象后,松开鼠标或移动/复制到指定的地方即可。 旋转的操作方法是:先使被旋转的对象处于移动或复制多用状态,再在子菜单/工具条中选中该操作项后,点击鼠标左键即可。 库符号的编辑(Symbol)方法是:在子菜单/工具条中选中该操作项后,用鼠标左键双击被编辑的符号即可进入符号编辑状态,再执行相应的与前类似的编辑操作。编辑完后应注意存盘。

图形的拷贝输出操作方法是: 先在子菜单选中“Copy Image”操作项,再按住鼠标用一个方框选中欲拷贝的图形,最后在子菜单中选中“Copy”操作项即可。这时在剪贴板中即保存了被拷贝的图形。

【例4.1.1】4位二进制并行加法器的源程序ADDER4B.VHD。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER4B IS --4位二进制并行加法器 PORT(CIN:IN STD_LOGIC; --低位进位 AIN: IN STD_LOGIC_VECTOR(3 DOWNTO 0); --4位加数 BIN: IN STD_LOGIC_VECTOR(3 DOWNTO 0); --4位被加数 S: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); --4位和 CONT: OUT STD_LOGIC); --进位输出 END ADDER4B;

ARCHITECTURE ART OF ADDER4B IS SIGNAL SINT:STD_LOGIC_VECTOR(4 DOWNTO 0); SIGNAL AA,BB: STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN AA<='0'& AIN; --将4位加数矢量扩为5位,为进位提供空间 BB<='0'& BIN; --将4位被加数矢量扩为5位,为进位提供空间 SINT<=AA+BB+CIN ; S<=SINT(3 DOWNTO 0); CONT<=SINT(4); END ARCHITECTURE ART;

1. 创建VHDL设计工程及源程序文件 1) 创建VHDL设计工程 首先,为此设计建立一单独的目录,这里设为“E:\Ispexam”,然后在“程序”栏中选"Lattice Semiconductor ispExpert System"→“ispEXPERT System"→进入“ispEXPERT System Project Navigator”主窗口(如图4.1)。选择“File”→“New Project”菜单以便建立一个新的工程文件,此时会弹出如图4.6所示的对话框。选好目录“E:\Ispexam”,再在该对话框下面的“Project Type”栏中,根据设计类型选择相应的工程文件类型,本设计应选择VHDL类型。在“文件名”栏中填入“ADDER4B”,即将以上的VHDL源程序的工程名定为ADDER4B.syn,按“保存”键即完成工程名设定。

图4.6 建立工程文件对话框

图4.7 VHDL 源文件框架设置窗

2) 编辑VHDL源程序文件 接着在“ispEXPERT System Project Navigator”主窗口中,选择“Source”→“New”菜单。在弹出“New Source”对话框中,选择“VHDL Module”类型。此时将弹出如图4.7所示的对话框“New VHDL Source”。在对话框的各栏中,分别填入如图所示的信息。按“OK”按钮后,即进入文本编辑器“Text Editor”,以便编辑VHDL文件。读者可在“Text Editor”中输入以上的adder4b.vhd源程序,并存盘和退出此编辑器。 此时,在主窗口左侧的源程序区中,Addert4b.vhd文件被自动调入当前工程中。单击源程序区中的“ispLSI1032E-125LT100”栏,此时的主窗口将呈现如图4.8所示界面。

图4.8 ispEXPERT System Project Navigator

2. 系统逻辑综合 1) 目标器件的选择 本设计拟采用的器件为ispLSI1032E-70LJ84,这时须双击源程序区中的“ispLSI1032E-125LT100”,在弹出的“Choose Device”窗口中改换器件为ispLSI1032E-70LJ84。

2) 源程序的编译、综合 双击窗口右侧的“Synplicity VHDL Synthesizer”,对adder4b.vhd文件进行编译和综合。在此过程中,ispEXPERT将调用Synplify进行VHDL综合。若整个编译、综合过程无错误,当出现 "Done!" 后可关闭此窗口,并自动返回到如图4.8所示窗口,且能看见 "Synplicity VHDL Synthesizer"处有一绿勾,表示综合通过。若在此过程中出错,双击上述“Synplify”窗口中“Source Files”栏中的adder4b.vhd文件进行修改并存盘,然后按 "Run" 按钮重新编译,通过后关闭Synplify窗口。

3. 设计中的有关仿真 通过VHDL综合后,ispEXPERT可对设计进行功能和时序仿真,但不能进行行为仿真。 1) 编辑测试文件 在ispEXPERT中,测试程序必须用ABEL-HDL语言编写。 下面简单地介绍一下ABEL语言的程序结构及测试向量的编写方法。 一个ABEL源文件由1个或多个相互独立的模块组成,每个模块中又由模块声明、定义段、逻辑描述或测试向量段组成,并且每个模块必须有一个模块声明部分,其他部分可选,而且每个部分必须用一个相应的关键字加以标识。ABEL源文件结构如下所示:

MODULE START ;模块开始 FLAGS ;标志语句 TITLE ;标题语句 DECLARATIONS ;定义段 CONSTANT DECLARATIONS ;常量定义 MACRO DECLARATIONS ;宏定义 DEVICE DECLARATIONS ;器件定义 PIN AND NODE ASSIGNMENTS ;管脚及节点定义 ATTRIBUTE DECLARATION ;属性定义 ;逻辑描述段

BOOLEAN EQUATIONS ;布尔方程 TRUTH TABLES ;真值表 STATES DIAGRAMS ;状态表 ;测试向量段 TEST VECTORS ;测试向量头 MODULE END ;模块结束

其中PIN管脚定义语句,用于说明管脚标识符与真实器件管脚间的关系,并可给出可编程器件管脚的属性。其语句格式如下: [!]管脚名[,[!]管脚名]…PIN [IN 器件名] 管脚号[='属性[,属性] …'] [,管脚号[='属性[,属性] …']] …; 如:!CLOCK,RESET,S1 PIN IN U12,12,15,13; 该管脚定义语句将器件U12的管脚12,15,13分别用CLOCK,RESET,S1来代表,语句中使用的“!”运算符,表示该管脚为低电平有效,在语言处理程序进行处理时,会自动将其取反。

TEST VECTORS测试向量语句,用于对器件的内部模式进行仿真,并对编程后的器件进行功能测试。测试向量表的语句格式如下: TEST_VECTORS [IN 器件名][注释] (输入向量—>输出向量) [ 输入向量值—>输出向量值;] 测试向量定义了输入输出信号的逻辑关系,测试向量表列出了各种输入信号的组合及相应的输出信号,表中可包含所有的组合形式,也可以只写出其中的一部分。要求表中所有信号值必须用定义过的常量或数值常量及特殊常量“X”、“Z”等,表中每一行(即每一组输入输出信号)必须以分号结尾。

【例4.1.2】ABEL测试文件ADDER4B.ABV。 MODULE ADDER4B; AIN,BIN,CIN,S,CONT PIN; --测试向量程序中,输入输出信号不分开写,也不特别注明谁是输入输出 TEST_VECTORS ([AIN,BIN,CIN] ->[S,CONT]); [^H4,^HA,0] ->[X,X]; [^HB,^H1,1] ->[X,X]; [^H4,^H8,0] ->[X,X]; [^HC,^H1,1] ->[X,X]; END;

在 "ispEXPERT System Project Navigator"主窗口中选择 "Source"→ "New"菜单,将弹出 "New Source" 对话框,选择ABEL Test Vectors 类型,此时弹出 "New File" 对话框,在对话框的上栏中填入仿真文件名ADDER4B(默认.abv文件),按“OK”按钮后,进入“Text Editor”。在此,将例4.1.2程序输入编辑器编辑结束后存盘,即获得测试向量文件Adder4b.abv。在主窗口的左栏中可以看见此文件(排在ADDER4B的上方)。 测试向量文件的格式十分宽松,因为所有的功能信息都已在综合好的文件中。文件中一般只需在左边写好输入信号值即可,右边一律写任意值“X”。 现在,在ispEXPERT主窗口中选中(鼠标单击)左侧的“Adder4b.Abv ”文件,再双击右侧的 "Compile Test Vectors",以编辑测试向量文件,若无问题,会出现绿勾。

2) 系统的功能仿真和时序仿真 双击右侧的 "Functional Simulation"栏,进行功能仿真。这时会弹出“Synplify”窗口,表示先进行综合,综合通过后,关闭“Synplify”窗口,片刻即进入 "Simulator Control Panel" 窗口。先按键 "Run",再选上栏的 "Window" → "Waveform Viewer",即进入波形观察窗(如图4.9所示)。点击此窗口中的 "Edit" → "show",即弹出窗口“Show Waveforms"。在此窗口左栏已列出所有的信号,用鼠示点击其中的一个信号,如CIN,再点击 "Show" 即可看到CIN的波形。如此重复,将所有11个信号波形全部显示于窗口,波形如图4.9所示。

如果希望以总线形式显示,如显示AIN(3),…,AIN(0),还可以用鼠标点击 “Bus”,这时右边将弹出一窗口,用鼠标在左栏的AIN(3),…,AIN(0)4个信号上拖动变成黑色,再点击右边的 “Add Nets”,这时4个信号将出现在另栏中。点击 “Reverse”,使4个信号换位,使高位在前,接着按 “Save Bus” 键,再按 “Show” 键,这时将出现总线式波形图。接着,按最上栏选项 “View” → “Zoom In”后,再用键点击波形,使其放大,直至可看见总线图中的数值为止,波形如图4.9所示(时序仿真为同一波形图)。 若返回到ispEXPERT System主窗口,选中左侧的Adder4b.abv文件,双击右侧的 "Timing Simulation" 栏,进行时序仿真,其波形如图4.9所示。

图4.9 仿真波形观察窗

4. 器件引脚的锁定和适配 1) 编辑引脚锁定文件 在ispEXPERT System 主窗口上选 "Window" → "Text Editor" 进入文本编辑器,选 "File" → "New",然后按照以下方式来锁定引脚。此文件取名为ADDER4B.PPN,并存于同一目录中后退出。 // 引脚锁定文件ADDER4B.PPN // PART:ispLSI1032E-70LJ84 // FORMAT:PINNAME PINTYPE LOCK AIN(0) IN 6

AIN(1) IN 27 AIN(2) IN 28 AIN(3) IN 29 BIN(0) IN 30 BIN(1) IN 31 BIN(2) IN 32 BIN(3) IN 33 CIN IN 3 S(0) OUT 45 S(1) OUT 46 S(2) OUT 47 S(3) OUT 48 CONT OUT 68

2) 器件的适配 在主窗口左侧用鼠标单击 "ispLSI1032E-70LJ84",再在右侧单击“Fit Design",然后按该窗口下方的 "Properties" 按钮,即可打开控制参数编辑对话框(如图4.10所示)。在此对话框中找到 "Pin File Name"行,然后在输入栏中键入引脚锁定文件名ADDER4B.PPN。单击输入栏左边的 "√"按钮,然后点击控制参数对话框中的 "Close" 按钮,关闭对话框。双击右侧的 "Fit Design",即可进行器件适配,适配完成后会生成用于下载的JEDEC文件ADDER4B.JED。

图4.10 控制参数编辑对话框

5. 系统编程及硬件测试 1) 硬件测试系统连接 首先将ISP下载电缆与计算机的打印机接口LPT1连接好,再在下载窗口选择菜单“Configuration”→“Scan Board”(或直接点击上排菜单键“SCAN”)检测芯片的型号。如果接线无误,目标系统工作正常,可以将电路板上接在菊花链上的所有的Lattice ISP扫描出来,否则将不可能得到如图4.11中显示的关于1032E的条目。

图4.11 在系统编程下载窗口

2) 器件的编程下载 系统连接与上电情况检查无误后,即可进行在系统下载操作。双击如图4.8工程项目主窗口右栏下的“ISP Daisy Chain Download ",弹出在系统下载操作窗口(如图4.11所示)。在此对话框中用“Browse”按钮选择ADDER4B.JED文件,选择菜单“Command”→“Run Operation”菜单(或直接点击上排“小人”键),即可将ADDER4B下载到电路板上的芯片中。下载成功后,下侧的子窗口会显示“Run Operation:successful”。

3) 系统的测试 如果实验系统是GW48,可选择电路模式1,4位二进制的被加数和加数分别由键1、键2输入,低位来的进位由键7输入,加法运算的结果显示在数码管“数码5”上,向高位的进位显示在发光二极管D1上。

4.2 Altera MAX+plus II操作指南 MAX+plus II 9.3界面友好,使用便捷,被誉为业界最易学易用的EDA软件。支持原理图、VHDL和Verilog语言文本文件,以及波形与EDIF等格式的文件作为设计输入,并支持这些文件的任意混合设计。MAX+plus II具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。在适配之后,MAX+plus II生成供时序仿真用的EDIF、VHDL和Verilog三种不同格式的网表文件。 MAX+plus II支持主流的第三方EDA工具,如Synopsys、Cadence、Synplicity、Mentor、Viewlogic、Exemplar和Model Technology等。MAX+plus II支持除APEX20K系列之外的所有Altera FPG/CPLD 大规模逻辑器件。

4.2.1 MAX+plus II安装 将MAX+plus II光盘放进光驱,这里假设光驱的驱动器号为F。 选择Windows 98的 “开始”→“运行”菜单,输入“F:\PC\MAXPLUS2\INSTALL.EXE”,然后按“确定”按钮,即可开始安装过程。 (1) 选择“Install”按钮,安装程序将检查系统。

(2) 设置安装目录,在上面的文本框中输入MAX+plus II系统所在目录名,在下面的框中输入工作目录名。安装程序将MAX+plus II系统复制到系统目录(System Directory)下。假设输入的目录分别为C:\Maxplus2和C:\Maxwork,按下“Continue”按钮。 (3) 按“Install”,然后在后续的对话框中选择“Yes”按钮,开始文件复制过程。

(4) 通过Windows 98系统菜单“开始”→“程序”→“MAX+plus II”→“MAX+plus II”,运行MAX+plusII。首次运行MAX+plus II,会出现“License Agreement”(授权协议)对话框,按 “Tab”键,然后再按下“Yes”按钮即可。当出现对话框提示当前的软件保护号(Software Guard ID)时,应到指定的Internet站点上申请授权号。

(5) 将申请到的授权号输入到“Authorization Code”对话框的文本输入框中,按“OK”按钮即可,也可先按下“Validate”按钮看一下授权号是否正确。 安装完MAX+plus II系统文件后,可通过运行光盘上的文件“Acroread\win\disk1\setup.exe”来安装PDF文件阅读器,以便阅读包括Altera公司的数据手册、应用笔记等文档内容。光盘根目录下的文件Altera.pdf是光盘上Altera所有文档的索引。

4.2.2 MAX+plus II操作指南 为了使读者快速学会使用Altera公司的EDA软件MAX+plus II,下面将讲解一位全加器的设计和测试全过程。 一位全加器的整个设计包括三个模块,即底层两输入或门模块ORM2.VHD、半加器模块H_ADDER.VHD以及顶层全加器模块F_ADDER.GDF。其中ORM2.VHD和H_ADDER.VHD是用VHDL编写的,F_ADDER.GDF则是原理图。全加器是通过调用一个ORM2.VHD和两个H_ADDER.VHD组装成一个完整的设计实体F_ADDER (详见3.2.1节)。

1.源文件的编辑 1) ORM2.VHD、H_ADDER.VHD的编辑及对应的元件符号图的生成 首先为该设计(工程)建立一目录,如E:\MAXEXAM,然后通过Windows 98的“开始”菜单进入MAX+plus II集成环境,如图4.12所示。 按屏幕上方的“新建文件”按钮,或选择菜单“File”→“New”,出现如图4.13所示的对话框,在框中选中“Text Editor file”,按“OK”按钮,即选中了文本编辑方式。在出现的“Untitled-TextEditor”文本编辑窗口中输入例4.2.1所示的源程序。

图4.12 MAX+plus II集成环境

图4.13 New对话框

【例4.2.1】 两输入或门的源程序ORM2. VHD LIBRARY IEEE; USE IEEE.STD_LOGIC-1164.ALL; ENTITY ORM2 IS PORT(A,B:IN STD_LOGIC;C:OUT STD_LOGIC); END OR2; ARCHITECTURE ART1 OF ORM2 IS BEGIN C<=A OR B; END ARCHITECTURE ART1;

输入完毕后,选择菜单“Flie→Save”,即出现如图4 输入完毕后,选择菜单“Flie→Save”,即出现如图4.14所示的对话框。首先在“Directories”目录框中选择存放本文件的目录E:\MAXEXAM,然后在“File Name”框中输入文件名ORM2.VHD(注意文件后缀名的选择,在MAX+plus II中,后缀为.VHD表示VHDL文件;后缀为.TDF表示AHDL文件; 后缀为.V表示Verilog文件),然后按“OK”按钮,即把输入的文件存在目录E:\MAXEXAM中了。

图4.14 保存ORM2.VHD

文件存盘后,为了能在图形编辑器中调用ORM2,需要为ORM2创建一个元件图形符号。选择菜单“File”→“Create Default Symbol”,MAX+plus II出现如图4.15所示的对话框,询问是否将当前工程设为ORM2,可按下“确定”按钮。这时MAX+plus II调出编译器对ORM2.VHD进行编译,编译后生成ORM2的图形符号。如果源程序有错,要对源程序进行修改,重复上面的步骤,直到此元件符号创建成功。成功后出现如图4.16所示的对话框。退出编译器,再退出编辑器,回到主窗口。

图4.15 询问当前工程的设置

图4.16 元件符号创建成功

【例4.2.2】 半加器的VHDL源程序H_ADDER.VHD。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY H_ADDER IS PROT(A,B:IN STD_LOGIC; CO,SO:OUT STD_LOGIC); END ENTITY H_ADDER; ARCHITECTURE ART2 OF H_ADDER IS BEGIN SO<=(A OR B) AND (A NAND B); CO<=NOT (A NAND B); END ARCHITECTURE ART2;

2) F _ADDER.GDF的编辑 F_ADDER.GDF是全加器设计中最顶层的图形设计文件,调用了前面两步创建的两个功能元件,将一个ORM2.VHD和两个H_ADDER.VHD组装成一个完整的设计实体。 选择菜单“File”→“New”,在如图4.13所示的对话框中选择“Graphic Editor file”,按“OK”按钮,即出现图形编辑器窗口“Graphic Editor”。现按照以下给出的方法在“Graphic Editor”中绘出如图4.17所示的原理图。

图4.17 顶层设计原理图

(1) 往图中添加元件。先在图形编辑器(原理图编辑器)“Graphic Editor”中的任何位置双击鼠标,将出现如图4 (1) 往图中添加元件。先在图形编辑器(原理图编辑器)“Graphic Editor”中的任何位置双击鼠标,将出现如图4.18所示的“Enter Symbol”对话框。通过鼠标选择一个元件符号,或直接在“Symbol Name”框中输入元件符号名(已设计的元件符号名与原VHDL文件名相同)。按“OK”按钮,选中的元件符号立即出现在图形编辑器中双击过鼠标的位置上。

现在,“Symbol Files”窗口已有两个元件符号ORM2和H_ADDER(如果没有,可用鼠标双击“Symbol Libraries”窗口内的E:\MAXEXAM目录即可,因为刚才输入并编译过的两个VHDL文件都在此目录中),其即为刚才输入的两个VHDL文件所对应的元件符号(元件名与对应的VHDL文件名是一样的)。用鼠标选择其中一个元件,再选“OK”,此元件即进入原理图编辑器。然后重复此过程,将一个ORM2、两个H_ADDER元件调入原理图编辑器。用鼠标按在元件上拖动,即可移动元件。如图4.17所示,排好它们的位置。

接着可为一个ORM2、两个H_ADDER元件接上输入输出接口。输入输出接口符号名为“INPUT”和“OUTPUT”。在库“prim”中,即如图4.18所示的c:\maxplus2\max2lib\prim的目录内,双击它,即刻在“Symbol Files”子窗口中出现许多元件符号,选择“INPUT”和“OUTPUT”元件进入原理图编辑器。当然也可以直接在“Symbol Name”文本框中输入“INPUT”或“OUTPUT”,MAX+plus II会自动搜索所有的库,找到INPUT和OUTPUT元件符号。

图4.18 输入元件

(2) 在符号之间进行连线。先按如图4.17的方式, 放好输入/输出元件符号,再将鼠标箭头移到符号的输入/输出引脚上,鼠标箭头形状会变成“+”字形,然后可以按着鼠标左键并拖动鼠标,绘出一条线,松开鼠标按键完成一次操作。将鼠标箭头放在连线的一端,鼠标光标也会变成“+”字,此时可以接着画这条线。细线表示单根线,粗线表示总线,它的根数可从元件符号的标示上看出。改变连线的性质的方法是:先点击该线,使其变红,然后选顶行的选项“Options”→“Line Style”,即可在弹出的窗口中选所需的线段。

(3) 设置输入/输出引脚名。在INPUT或OUTPUT符号的引脚上双击鼠标左键,可以在端口中输入新的引脚名。F_ADDER (3) 设置输入/输出引脚名。在INPUT或OUTPUT符号的引脚上双击鼠标左键,可以在端口中输入新的引脚名。F_ADDER.GDF中有三个输入引脚:AIN、BIN和CIN。两个输出引脚:SUM和COUT。按图4.17的方式分别输入端口符号,完成的顶层原理图设计如图4.17所示。最后选择“File”→“Save”菜单,将此顶层原理图文件取名为F _ADDER.GDF,并写入“File Name”中,存入同一目录中。

2. 系统的编译、综合、适配 1) 设置顶层文件 在编译系统文件F_ADDER.GDF之前,需要设置该文件为顶层文件(工程文件) Project。选择菜单“File”→“Project”→“Set Project to Current File”,当前的工程即被设为F _ADDER(此名在最初是任选的)。

2) 选择目标器件及锁定引脚 先选择用于编程的目标芯片。选择菜单“Assign”→“Device…”,在弹出的对话框中的“Device Family”下拉栏中选择“FLEX10K”,然后在“Devices”列表框中选择芯片型号“EPF10K10LC84-3”,按“OK”。 选择菜单“Assign”→“Pin/Location/Chip…”弹出一个对话框来设置引脚。在“Node Name”右边的文本框中输入引脚名。注意,引脚必须一个一个地确定。在“Pin”右边的下拉栏中选择芯片引脚号,然后按下“Add”按钮,就会在下面的子窗口出现引脚设定说明句,当前的一个引脚设置即加到了列表中。如果是总线形式的引脚名,也应当分别写出总线中的每个信号。例如,DATA[3..0]就应当分别写

表4.1 引脚号设定表 AIN PIN 17 →PIO8 →键3 BIN PIN18 →PIO9 →键4 CIN PIN19 表4.1 引脚号设定表 AIN PIN 17 →PIO8 →键3 BIN PIN18 →PIO9 →键4 CIN PIN19 →PIO10 →键5 SUM PIN27 →PIO16 →D1 COUT PIN28 →PIO17 →D2

全部设定结束后,按“OK”键。以上是假定最后将设计下载进GW48系统,并选择5. 2节的实验电路结构图NO. 6(图5 全部设定结束后,按“OK”键。以上是假定最后将设计下载进GW48系统,并选择5.2节的实验电路结构图NO.6(图5.11),设定AIN、BIN、CIN信号分别由“键3”、“键4”、“键5”产生,SUM、COUT分别接PIO16、PIO17,并分别接至发光二极管的“D1”、“D2”。

3) 编译、综合、适配 选择“MAX+plus II”→“Compiler”菜单,可运行编译器, 此时将出现如图4.19所示的界面。编译器将一次性完成编译、综合、优化、逻辑分割和适配/布线等操作。现在首先设定VHDL版本。选择如图4.19所示界面上方的“Interfaces”→“VHDL Netlist Reader Settings”,在弹出的窗口中选“VHDL '93”。这样编译器将支持93版本的VHDL语言。

图4.19 工程项目编译综合器

下面进行综合器的有关优化设置。先选“Assign”→“Global Project Logic Synthesis”,进入此窗后,在右侧的小窗口“Optimize”中将“滑块”放在适当位置。“滑块”越靠左 (Area),综合后的芯片资源利用率越高;靠右(Speed)则是对运算速度进行优化,但以耗用芯片资源为代价。若为CPLD目标器件,要对窗口中间的“MAX Device Synthesis Options”作相应的选择。然后按键“Define Synthesis Style”,选综合方式(Style)为“Normal”;“Minimization”可选“Full”;“Slow Slew Rate”可根据需要选,若希望减少I/O输出口的信号噪声,可选此项,但这是以牺牲信号速度为代价的;对于7128S,可选“XOR Synthesis”,这对于某些组合逻辑有很好的优化功能。选好后,点击“OK”,关闭此窗,然后通过“Assign”→“Global Project Device Options”窗口,选定是否加密芯片(选Security Bit加密),并选“Enable JTAG Suport”,以便能利用JTAG方式对目标器件进行编程下载。最后按“OK”,关闭此窗口。

最后在“Compiler”窗口中按下“Start”按钮,启动编译过程,直到编译结束。如果源程序有错误,用鼠标双击红色的错误信息即可返回图形或文本编辑器进行修改,然后再次编译,直到通过。通过后双击“Fitter"下的“rpt”标记,即可进入适配报告,以便了解适配情况,然后了解引脚的确定情况是否与以上设置一致。关闭编辑器。

3.系统的有关仿真 1) 建立仿真波形文件 选择菜单“File”→“New”,在出现的“New”对话框中选择“Waveform Editor File”(如图4.13所示),按“OK”后将出现波形编辑器子窗口。选择菜单“Node ” →“Enter Nodes from SNF”,出现如图4.20所示的选择信号结点对话框。按右上侧的“List”按钮,左边的列表框将立即列出所有可以选择的信号结点,然后按中间的“=>”按钮,将左边列表框的结点全部选中到右边的列表框。按“OK”按钮,选中的信号将出现在波形编辑器中。其中有全加器的输入信号AIN、BIN、CIN,输出信号SUM、COUT。最后通过菜单“File ”→“Save ”在弹出的窗口中将波形文件存在以上的同一目录中,文件取名为f _adder.scf。

图4.20 往波形编辑器中添加信号结点

2) 设置输入信号波形 波形观察窗左排按钮是用于设置输入信号的,使用时只要先用鼠标在输入波形上拖一需要改变的黑色区域,然后点击左排相应按钮即可。其中,“0”、“l”、“X”、“Z”、“INV”、“G”分别表示低电平、高电平、任意、高阻态、反相和总线数据设置。若是时钟信号,用鼠标点时钟信号的“Value”区域,可以将时钟信号选中。这时时钟信号的波形区域全部变成黑色,按集成环境窗左边上的时钟按钮,出现时钟信号设置对话框,按下“OK”即可设置时钟信号。按集成环境右边的“缩小”按钮,可以缩小波形显示,以便在仿真时能够浏览波形全貌。根据要求将各输入信号AIN、BIN和CIN的波形设置成如图4.21所示。

3) 运行仿真器进行仿真 选择主菜单“MAX+plus II”→“Simulator”,按下“Simulator”,出现仿真参数设置与仿真启动窗(如图4.22所示),这时按下该窗口中的“Start”按钮,即刻进行仿真运算(注意,在启动仿真时,波形文件必须已经存盘)。仿真运算结束后出现如图4.23所示的对话框。对话框中显示“0 errors,0 warnings”,表示仿真运算结束。

图4.21 设置了输入信号的波形编辑器

图4.22 仿真参数设置与仿真启动窗

图4.23 仿真计算结束窗

时序仿真波形结果如图4.24所示,观察波形后,可以确认设计正确。如果系统含有时钟信号,又希望在不改变输入时钟信号周期的条件下,延长仿真时间,可以作如下设置:在如图4.24的波形编辑窗口打开的情况下,选择“File”→“End Time”,在弹出的窗口中设置仿真结束时间,例如5 μs,按“OK”按钮后,选择菜单“MAX+plus II”→“Simulator”,在“Simulator”子窗口的“End Time”处也设置5 μs。然后启动仿真操作,结束后可观察仿真波形。如果在一开始没有打开波形观察窗,可选择“File”→“Open”,这时将弹出一名为“Open”的窗口,可在此窗口的“Waveform Editor files”处点击,并在“Files”窗中弹出的波形文件名f _adder.scf上双击,即可进入波形观察窗。

4.系统的编程下载 如果MAX+plus II是安装后第一次调用编程器,则MAX+plus II将弹出对话框选择型号,以便调用正确的编程器驱动程序。如果用FLEX或ISP型MAX系列器件,通常选择 "ByteBlaster" 编程器。 "ByteBlaster" 实际上是指连接在并行打印口使用的下载电缆。编程器型号的选择方法是启动 "Programmer",选菜单 "Options"→ "Hardware Setup",在“Hardware Type”下拉栏中选“ByteBlaster”,按“OK”即可。

图4.24 F_ADDER仿真结果

用鼠标双击编译器子窗口(如图4.25所示)的下载图标,或者选择“MAX+plusII”→“Programmer”菜单,可调出编程器(Programmer)窗口(如图4.25所示)。在将设计文件编程配置(对此FPGA下载称为配置)进硬件芯片前,需连接好硬件测试系统(如果实验系统是GW48,编程配置和硬件测试方法可参阅第5章)。

图4.25 编程器子窗口

本例使用FLEX10K系列中的10K10器件,一切连接就绪后,方可按下编程器窗口中的“Configure”按钮,若一切无误,即可将所设计的内容下载到10K10芯片中。下载成功后将在一弹出的小窗中显示“Configuration Complete”。接下去就可以在实验系统上进行实验验证:按“模式选择键”,使“模式指示”显示“6”,表明此时实验系统已进入第5.2节的第6种电路结构。 然后按动“键3”、“键4”、“键5”输入相应的信号,则发光二极管“D1”、“D2”显示全加器的运算结果,所有结果与仿真的情况完全一致。至此,表明全加器的设计是成功的。

注意,图4.25中,对FPGA器件的下载按钮是“Configure”;而目标器件若选为CPLD(如EPM7128S)时,下载的按钮则是“Program”,这时“Configure”变为灰色。 如果希望改变某引脚,可以这样操作:选“File”→“Open”,在“open”窗中点击“Graphic Editor”,双击弹出的原理图文件,进入原理图编辑器;选菜单“Assign”→“Pin/Location/Pin”,在左下栏中点击需要改变引脚的项目,然后在Pin的下拉菜单中选定引脚号,按键 "Change"→ "OK"即完成。再选 "MAX+plus II" → "Compiler" → "Start"开始编译综合,最后进行下载测试。

4.3 Xilinx Foundation操作指南 Foundation Series是Xilinx公司最新集成开发的EDA工具,它支持的芯片有:XC3000A/L、XC3100A/L、XC4000E/L/EX/XL/XV/XLA、XC5200、XC9500、XC9500XL Spartan和SpartanXL Virtex等。 Foundation采用自动化的、完整的集成设计环境,包含了强大的Synopsys FPGA Express综合系统,并将它完美地集成到了Foundation Series统一的项目管理器中。Foundation项目管理器(Foundation Project Manager)集成了Xilinx的各种实现工具,是业界最强大的EDA设计工具之一。

Foundation可提供真正的混合语言(VHDL和Verilog-HDL)的综合和优化,从而为支持第三方的IP(知识产权)核提供了有利条件。它的JTAG编程器支持CPLD/FPGA的下载和配置。

4.3.1 Xilinx Foundation的安装 1.系统需求 Xilinx Foundation Series在PC机上运行,支持Windows 95和WindowsNT4.0或更高版本。下面是Xilinx推荐的机器配置: (1) Pentium、Pentium Pro或兼容的CPU。 (2) 内存32 MB或64 MB(与所使用的Xilinx器件有关)。 (3) 48~128 MB硬盘交换区(与所使用的Xilinx器件有关)。 (4) 各安装需要硬盘容量:Base—100 MB;Base Express—120 MB;Standard—280 MB;Foundation Express—300 MB; 所有器件—600 MB。

由于XC4000X系列及Virtex系列的容量和高复杂性,Xilinx推荐使用更高性能的PC机。编译XC4000X系列需要64 MB内存及64 MB硬盘交换空间,但推荐使用128 MB内存和128 MB硬盘交换空间。编译Virtex系列,推荐使用128 MB内存。Windows 95可以自动调整硬盘交换空间的大小,如果使用Windows NT,则可能需要手动调整。

2.运行Setup安装程序 将Xilinx Foundation Series CD-ROM放进光驱,假设光驱的盘符为F,点击Windows系统菜单按钮“启动”→“运行”,然后输入F:\Setup.exe,按下“确定”按钮,便开始安装过程。实际上,在将CD-ROM放进光驱后,Windows 95/NT会自动运行Setup程序。 (1) 程序出现安装对话框,按“Next”按钮继续,出现授权协议对话框。 (2) 按“OK”按钮继续,出现对话框输入光盘序列号“CD Key”,按“Next”按钮继续。

(3) 出现安装类型选择对话框,使用安装程序默认选项“Type Install”(典型安装)。 (4) 直接按“Next”按钮继续,出现对话框按“Browse”按钮可以选择安装目录,目录选好后按“Next”按钮。 (5) 出现提示选择组件的对话框,只选择需要安装的组件,一般情况下无需改动,按“Next”按钮。

(6) 出现提示选择组件的对话框,只选择将要使用的系列,其余的系列全部消除掉。按“Next”按钮,此后安装程序将从CD-ROM复制所在的文件到硬盘上的安装目录(例如目录C:\Fndtn)中。 (7) 文件复制完成后,安装程序提示要修改Autoexec.bat文件,以加进必需的环境变量设置,按“OK”按钮。 (8) 复位计算机,完成环境变量的设置。

3.关于授权文件(LICENSE.DAT) Foundation Series运行时需要检测授权文件LICENSE.DAT。授权需要用传真或E-mail向Xilinx公司申请。安装成功后,默认的授权文件可能已经过期,或根本不能用,请立即向Xilinx公司申请,或联系Foundation Series软件销售商。 一般情况下,Foundation Series安装程序会为你设计好指示授权文件路径的环境变量。因为Foundation Series采用的授权文件的认证机制与许多其他EDA软件的授权机制相同,在安装Foundation Series之前,您的系统中可能已经安装了这样的软件(如Viewlogic公司的Workview Office),此时,安装程序不会为你设置环境LM_LICENSE_FILE变量。在Windows 95/NT的DOS框中,执行命令“SET”,可以查看环境设置情况。

将获得的授权文件LICENSE.DAT复制到目录C:\FNDTN\DAT中(假设Foundation安装在C:\FNDTN目录中),如果环境变量LM_LICENSE_FILE没有设置,可以编辑C盘根目录下自动批处理文件Autoexec.bat,加如下一行: SET LM_LICENSE_FILE=C:\FNDTN\DATA 当然,LICENSE.DAT可以放在任何目录中,只是安装程序一般将LM_LICENSE_FILE环境变量设置成安装目录的DATA子目录。如果路径已经设好,如LM_LICENSE_FILE=C:\FLEXLM\LICENSE.DAT,则用文本编辑器将Xilinx提供的LICENSE文件内容追加到C:\FLEXLM\LICENSE.DAT文件内即可。

4.3.2 Foundation工程设计流程 Foundation 有两种主设计类型:原理图方式和HDL方式,相对应的有两种设计流程。 1.原理图输入方式设计流程 原理图主输入方式的设计流程如图4.26所示,各步工作由项目管理器统一管理。

图4.26 原理图输入方式设计流程

(1) 编辑原理图和生成网表:利用Xilinx提供的符号库,在原理图编辑器中设计系统原理图。原理图设计好后,在原理图编辑器选择菜单“Options”→“Create Netlist”即可生成网表。若省略这一步,在进行下一步操作时,项目管理器会询问是否生成网表。 (2) 软件到硬件的实现:要将设计的软件系统实现到具体芯片,包括一系列的操作。其具体的顺序是:转换(Translate)→映射(Map)→放置和布线(Place & Route)→时序分析(Timing)→配置(Configure)。最后生成可以写到具体芯片的目标文件中。

(3) 有关仿真及分析:逻辑仿真器(Logic Simulator)支持4种类型的仿真。其中功能仿真用来验证系统的逻辑功能是否正确;时序仿真是经适配到选定的芯片后进行的仿真验证,它将模拟芯片的实际动作,其仿真时间模型很严格,模型将门级延时计算在内,可以分析出竞争和冒险,经过时序仿真验证过的设计基本上与实际电路相一致;时序分析是验证芯片中电路可能的工作速度,分析引脚之间及内部信号之间的时间延时,初步确定芯片中电路的工作性能。 (4) 芯片编程:在经过各种仿真验证之后,可以将生成的目标文件写到芯片中去,以实现对芯片的实际配置,实现所需要的功能。

2. 硬件描述语言输入方式设计流程 硬件描述语言(HDL)作为主设计输入的流程如图4.27所示。该主设计输入方式的设计流程中仅有一项与原理图主设计输入流程不同。在HDL主设计输入流程中的“逻辑综合”,对应地在原理图主设计流程中是“生成网表”。

图4.27 HDL主设计输入流程

4.3.3 VHDL设计操作指南 为了使读者掌握Foundation的VHDL设计操作,下面介绍一个4位二进制的加法器的VHDL设计和测试的全过程。本设计采用的目标器件为低成本、高性能的Spartan系列芯片,容量等效于5 000个逻辑门的XCS05-3-PC84。

图4.28 设置新工程信息对话框

1. 创建新工程 设该新工程为ADDER4B,在创建新工程ADDER4B之前,首先需为本设计工程建立一个空的目录,如“E:\XLINEXAM”。运行Foundation,进入Foundation 项目管理器后,会出现一个项目管理器对话框。在对话框中选中“Create a New Project”,然后按下“OK”按钮,出现如图4.28所示的新工程设置对话框。在此对话框中输入工程名“ADDER4B”及目录名(也可选择其他目录,根据具体情况而定),然后选中“HDL”单选按钮。按下“OK”按钮,新工程设置完毕。建立新工程也可直接点击“File”→“New Project”,产生“New Project”。

2.创建HDL源文件 1) 进入HDL编辑器 在Foundation项目管理器中,按“Flow”后在显示的流程图中按“Design Entry”栏中最左侧的按钮,进入HDL编辑(HDL Editor)。出现如图4.29所示的对话框,选中“Create Empty”(创建空文档),按下“OK”按钮后进入HDL编辑器主界面。 2) 输入例4.3.1所示的源程序并将其保存 在HDL编辑器中输入以下VHDL源程序,然后选择菜单“File”→“Save”,在对话框中填入文件名“ADDER4B.VHD”,按下“保存”按钮,ADDER4B.VHD立即保存到工程所在的目录中。

图4.29 进入HDL编辑器后显示的对话框

【例4.3.1】四位二进制加法器的源程序ADDER4B.VHD。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER4B IS PORT(A: IN STD_LOGIC_VECTOR(3 DOWNTO 0); B: IN STD_LOGIC_VECTOR(3 DOWNTO 0); C: OUT STD_LOGIC_VECTOR(4 DOWNTO 0); END ADDER4B; ARCHITECTURE ART OF ADDER4B IS SIGNAL AA,BB: STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN AA<=‘0’ & A; BB<=‘0’ & B; C<=AA+BB END ARCHITECTUR EART;

(3) 将源程序文件加到工程中。选择菜单“Project”→“Add to Project”,可将ADDER4B (3) 将源程序文件加到工程中。选择菜单“Project”→“Add to Project”,可将ADDER4B.VHD 添加到工程文件中。关闭HDL编辑器,回到Foundation项目管理器中,可以发现层次浏览窗口中已经存在ADDER4B.VHD。注意,已经加到工程中的文件不能再次添加。对于由多个VHDL文件组成的设计也是以上述相同的方式进入HDL编辑器,然后存进同一目录中,并通过“Add to Project”选项加入到同一工程中。 必须保证输入的VHDL源程序的正确性,因为在发送添加到工程命令时,Foundation管理器自动调用语法检查器对当前新加入的源程序文件ADDER4B.VHD进入语法检查。如果语法检查通不过,需修改源程序,以排除其中的错误,然后再选择菜单“Synthesis”→“Check Syntax”,再次进行语法检查。

3.逻辑综合 逻辑综合的作用是将ADDER4B.VHD编译后,为ADDER4B选择一个电路实现方案,然后为此方案生成一个电路网表。 1) 启动综合过程 在Foundation项目管理器中,按下“Flow”,在显示的流程图中按下“Synthesis”栏中最左侧的按钮,启动综合器。此时,首先会弹出如图4.30所示的对话框,提示设置综合时需要的信息。在此要注意“Version”的选择,要根据主窗口界面左侧的“Versions”显示的当前设计版本。在图4.30的“Version”栏中填入恰当的ver1、ver2或ver3等。后面需要为ADDER4B的输入/输出端指定芯片引脚,因此,如图4.30所示对话框中的选项“Edit Synthesis/Implementation Constraints”一定要选中。此外,对于“Speed”和“Area”项要作恰当的选择。

2) 目标器件的选择及引脚锁定 首先要选择目标器件,可以作如图4.30所示的选择。结束后,按下“Run”按钮,会出现如图4.31所示的窗口,可以在其中定义芯片引脚。将下面的滚动条拖到右边“Pad Loc”一栏,即可进行引脚定义。鼠标单击要设置的输出名所对应的方格,可以输入引脚号,双击则可以修改。引脚号码的格式是“P号码”,如P5表示芯片封装的第5引脚。

图4.30 设置综合信息

图4.31 定义芯片引脚

注意,如果在综合成功后,还需要修改芯片引脚定义(如图4 注意,如果在综合成功后,还需要修改芯片引脚定义(如图4.32所示),可以在Foundation 项目管理器的版本管理“Versions”一栏中,在“Verl-SPARTAN-S05PC84-3"字串上按鼠标右键,再点击“Edit Constrains”,同样可以弹出如图4.31所示的窗口,操作方法与上面所述相同。引脚定义结束后,按图4.31所示的“OK”按钮,Foundation即按刚才的设置来优化设计。

图4.32 在综合后,修改引脚定义

4.功能仿真 综合后生成的网表可供功能仿真用。这里简要说明仿真器进行功能仿真的操作过程。 1) 启动仿真器 在Foundation项目管理器中,按下“Flow”,在显示的流程图中按下“Simulation”,即进入逻辑仿真器,此时逻辑仿真自动设置为功能仿真状态。

2) 加入信号 在逻辑仿真器中,选择菜单命令 "Signal"→ "Add Signal…",出现如图4.33所示的子窗口。首先用鼠标选中 "Signal Selection" 一栏中信号名,然后按下 "Add"按钮,选中的信号会立即加到"Waveform Viewer 0"子窗口中,重复操作直到加完所有所需信号。也可按住“Ctrl”键后,用鼠标选中多个信号,按 "Add"铵钮,这些选中的信号将被同时加到“Waveform Viewer 0"子窗口中。信号添加完后,按"Close"按钮关闭"Component Selection for Waveform Viewer 0"子窗口。

如图4.33所示,加入了信号(A3,A0)、(B3,B0)和(C4,C0)。注意,这里的信号表示形式是总线形式,(A3,A0)表示由A3、A2、A1、A0组成的总线信号。在本例中,用总线信号形式进行仿真特别方便 。按下"Add"按钮后,信号立即加入到波形浏览器中,按 "Close" 按钮关闭添加信号窗口。

图4.33 加入信号窗口

3) 设置输入波形 选择菜单命令 "Waveform"→"Edit…",出现如图4.34所示的标题为“Test Vector State Selection"的工具窗口。其上面各按钮的意义如表4.2所示。 图4.34 编辑输入波形

表4.2 “Test Vector State Selection”工具窗口各按钮的意义 按 钮 名 意 义 Low 此按钮将波形观察窗口选中的块设为低电平 High 此按钮将波形观察窗口选中的块设为高电平 Unkn_X 此按钮将波形观察窗口选中的块设为不确定状态 High_Z 此按钮将波形观察窗口选中的块设为高阻态 Del 此按钮删除波形观察窗口选中的块的值 Bus 此按钮将波形观察窗口中选中的Bus类型信号的值设为“Bus State”文本框中的值

要输入信号的值,需先定义一个块。定义块的方法是:将鼠标放到块的首位置,按下鼠标左键,拖动鼠标到块的末位置,松开鼠标左键。如图4 要输入信号的值,需先定义一个块。定义块的方法是:将鼠标放到块的首位置,按下鼠标左键,拖动鼠标到块的末位置,松开鼠标左键。如图4.34所示,选中的块是灰色的。定义了一个块后,按 "Test Vector State Selection"工具窗口中相应的按钮,即可设置当前块的值。例如,按下 "High"按钮,则当前选中的块的值变为高电平。 根据上面所述方法,为(A3,A0)及(B3,B0)设置如图4.34所示的输入波形。设置总线表示方式的输入波形的方法是:首先在波形浏览窗口中将要编辑的部分波形定义成一个块,在 "Bus"按钮右面的输入框中输入一个数值作为总线信号的新值(十六进制形式),然后按下 "Bus"按钮,即可更改所定义的块中总线信号的值。

4) 单步仿真 如图4.35所示,用鼠标重复点击 "Simulation Step" 按钮 (在Tools选项下方的双脚印按钮处) 进行单步仿真,每按一下,仿真过程执行一步,仿真器即画出输出信号的波形。在本例中使用仿真器默认值,每步执行50 ns,出现图4.35所示的仿真输出波形。

图4.35 功能仿真的输入/输出波形

5.软件到硬件的设计实现 1) 启动实现过程 在Foundation 项目管理中,按下“Flow”,在显示的流程图中按“Implementation”,启动实现过程。首先出现如图4.30所示的对话框,在此对话框中按下 "Options…"按钮,出现图4.36所示的 "Options"(选项)对话框。

图4.36 实现选项对话框

2) 设置实现选项 在如图4.36所示的对话框中,“Optional Targets"一组中的两个选项 "Produce Timing Simulation Data"(产生时序仿真数据)和 "Produce Configuration Data"(产生配置数据)都要选上。然后在此对话框中按“OK”按钮,返回如图4.37所示的对话框。

3) 进入流程引擎 在如图4.37所示的对话框中按下 "Run" 按钮,进入流程引擎(Flow Engine,图4.38),流程引擎负责完成整个实现过程。 图4.37 设置实现信息

图4.38 处理流程显示窗

在完成上面的步骤后,Foundation出现流程引擎(Flow Engine)窗口,表示已经进入实现过程。实现过程的步骤如表4 在完成上面的步骤后,Foundation出现流程引擎(Flow Engine)窗口,表示已经进入实现过程。实现过程的步骤如表4.3所示。在执行一个子过程时,其图标下面的状态框显示 "Running",表示正在运行。每完成一个子过程,相应子过程下面的状态框会显示"Completed",其右面的箭头变成黑色。当如图4.38所示的 "Configure"子过程下面的状态显示为 "Completed" 时,表示实现过程已经正常结束,生成了供时序仿真和编程用的文件。

表4.3 实现过程步骤 子 过 程 注 解 Translate (转换) 合并所有的输入网表 Map(映射) 表4.3 实现过程步骤 子 过 程 注 解 Translate (转换) 合并所有的输入网表 Map(映射) 映射本设计到Xilinx FPGA Place & Route (放置和布线) 把逻辑放置和布线到目标器件中 Timing (时序) 时序分析,生成时序信息 Configure(配置) 生成可供编程用的目标器件配置文件

在实现过程中,如果前面的原理图输入不正确,实现过程将终止,并提示用户查看出错信息。出错信息种类很多,在本例中一旦遇到出错,请检查并修正原理图。排错之后,重新执行上面所示的全过程。

6.系统的时序仿真 在Foundation项目管理器中,按下流程图中“Verification”栏中左边的按钮,进入时序仿真器。时序仿真与功能仿真的操作方法相同,仿真的结果如图4.35所示。 ADDER4B经过时序仿真验证之后,若确认已经达到所期望的逻辑功能,就可以对目标芯片进行编程了。

7. 芯片编程下载 以上各步骤通过后,按流程图中的“Programming”栏中左边的按钮,项目管理器运行硬件调试器(Hardware Debugger)对芯片进行编程。在此之前,下载线应该连好。硬件调试器在运行时首先检测下载线,如果检测不到,会弹出对话框让用户选择一种。一般使用并行打印机口连接方式配置下载线 "Parallel"(如果实验系统是GW48,下载和硬件测试方法可参考第5章)。正常进入硬件调试器主界面后,选择菜单 "Download"→ "Download Design"菜单,硬件调试器立即将配置文件下载到器件中去。

对于Xilinx的CPLD,如95018,下载操作中需要注意两点:① 下载前,应将模式选在 "b"上,尽可能降低系统功耗,确保稳定、标准的编程电压;② 下载结束后,按单片机复位键,以便使CPLD进入正常工作状态。