收藏 分销(赏)

[工学]EDA实践教程Rev.doc

上传人:人****来 文档编号:9883177 上传时间:2025-04-12 格式:DOC 页数:60 大小:2.01MB
下载 相关 举报
[工学]EDA实践教程Rev.doc_第1页
第1页 / 共60页
[工学]EDA实践教程Rev.doc_第2页
第2页 / 共60页
点击查看更多>>
资源描述
数字系统EDA工程实践技术教程 (第四次修改) 陈强,陈立万 编著 重庆三峡学院电子与信息工程学院 EDA技术实验室 二0一 一年五月 前 言 EDA的概念和应用范畴很宽,涵盖电子、通信工程的各个领域。本教程所指的EDA技术,主要指以可编程器件(包含可编程逻辑器件和模拟器件)为物理载体,利用EDA工具自动完成现代电子系统的设计。EDA代表了当今电子设计技术的最新发展方向。《EDA技术》课程是教育部高校电子与电气学科教学指导委员会强调的电气信息类专业的重点必修课程,也是国际国内高校十分重要且十分重视的实践性很强的技术平台课程。 EDA技术将电子设计手段由传统的“硬”碰“硬”(设计、调试上依赖具体硬件,验证上依赖实际仪器)转变为现代的“软”碰“硬”(设计、调试与验证过程大多在软件中完成)。这样不但节约开发成本、降低复杂度,同时可大幅度提高效率,缩短开发周期。现代EDA技术对设计人员本身系统架构能力要求高,直接面向工程实际。而当前EDA课程实践教学对工程能力与系统架构能力的重视和训练不够,导致大多学生EDA技术水平和能力低下。因此,“很有必要”进行实践教学模式改革。 重庆三峡学院应用技术院于2004年在全校首开EDA课程,并一直作为专业主干课程建设,其支撑课程为重庆三峡学院重点课程《数字电子技术》(建设依托单位也为我院)。经过以陈立万教授为带头人的“数字与EDA技术课程教学团队”多年来的建设和教学改革,本课程已形成优良的传统和良好的教学效果,有较为完整的课程体系和教学经验。一部面向工程应用的有较高水平的理论课新教材已经由学校立项建设,目前编写工作已全部完成。 怎样以培养职业能力为核心,以工作实践为主线,以工作过程(项目)为导向, 用任务进行驱动, 构建基于能力本位的集知识学习与岗位职能训练于一体的EDA课程实践教学模式已经成为当今EDA技术教育工作者面前的棘手问题。以本书作者为主要成员的EDA实践教学改革课题组通过反复比较论证,从可借鉴的几种综合性较强的教学模式中,选取“项目导向模式”作为EDA课程实践教学的主要模式, 用完成某个具体项目作为驱动课程学习的手段和方法。 课题组一直以来力图编写了一本面向工程应用以项目为导向的实践教程。本教程正是在这样的强烈需求牵引下应运而生的。本教程自2007年在重庆三峡学院应用技术学院电子信息工程本科首次使用以来,至今已四易其稿。教程以项目流程为主线贯穿实践教学始终。让学生在项目实践中体会、把握流程、熟悉开发工具、掌握硬件描述语言、了解FPGA器件以及通过查阅资料、咨询老师解决设计中的其它工程问题。教程力图通过“项目导向”实践教学模式在EDA实践教学中的应用,破解学生只会“实验”不会“实干”的问题,将学生对EDA技术的把握程度由“体验”上升到“体会”和“掌握”,逐级提高学生的EDA技术应用层次,使学生形成能够独立开发一个小型工程的能力。 然而,本书的形成属于新形势下实践教学的探索,还有很多不成熟的地方,有待实践进一步检验;同时,限于作者水平,疏漏错误也在所难免。作者期待阅读本书的读者多提宝贵意见。编者邮箱:dypcq@ 编 者 2011年5月 目 录 上篇:基本实验 1 1. 序 言 1 2.实验规则及EDA实验室仪器设备操作规程 2 2.1 实验规则 2 2.2 EDA实验室仪器设备操作规程 3 3. 数字系统及其设计方法 3 3.1 数字系统的概念与设计 3 3.2 数字系统设计架构方法 4 3.2.1、传统的数字系统逻辑设计法 4 3.2.2、传统的数字系统直接设计法 4 3.2.3、设计专用集成电路 5 4. 教学系统介绍 11 4.1 配套硬件要求: 11 4.2 RC-EDA-2000C型实验箱 11 5. 实验前的一些重要话题 18 5.1关于软件开发工具 18 5.2关于器件 21 5.2.1 CPLD与FPGA的比较 21 5.2.2 ALTERA产品型号命名规则 22 5.3 代码下载与配置 22 5.3.1 CPLD器件的下载接口及其连接 22 5.3.2 FPGA器件的配置模式 22 5.4 关于利用ModelSim SE6.0C实现时序仿真 24 6. 软硬件操作参考流程实例 27 6.1 十进制计数器流程 27 6.1.1 建立工作文件 27 6.1.2 创建工程 28 6.1.3 编译前设置 30 6.1.4 全程编译 30 6.1.5 时序仿真 31 6.1.6 引脚设置和下载 33 6.1.7 配置文件下载 34 6.1.8 编程配置器件 35 7. 实验教学内容及要求 36 实验项目一 EDA实验软、硬件平台的认识使用(本) 37 实验项目二 3-8译码器的设计(本、专) 38 实验项目三 触发器功能模拟(本、专科) 40 实验项目四 基本计数器的设计 44 实验项目五 带进制的计数器 46 实验项目六 半整数分频器的设计 49 实验项目七 音乐发生器设计(本) 51 上篇附录: 57 一、实验报告的格式与要求 57 二、报告一般书写格式(以某实验为例) 57 中篇:CAD/EDA课程实训 59 一、目的和任务 59 二、实训软硬件工具、内容与主要教学环节安排 59 附录一:EDA课程实训参考题目 70 设计一 数字式竞赛抢答器 70 设计二 数字钟 70 设计三 数字频率计 71 设计四 拔河游戏机 71 设计五 乒乓球比赛游戏机 71 设计六 交通信号等控制器 72 设计七 电子密码锁 73 设计八 彩灯控制器 73 设计九 脉冲按键电话显示器 73 设计十 简易电子琴 73 设计十一 出租车自动计费器 74 设计十二 洗衣机控制器 74 十三、自动奏乐器二 74 十四、自动打铃器 75 十五、算术运算单元ALU的设计 75 十六、多路数显报警器 75 十七、病房呼叫系统 75 十八、篮球比赛数字计分牌 75 十九、设计模拟中央人民广播电台报时电路 75 二十、数字跑表 76 二十一、自动电子钟 76 二十二、速度表 76 二十三、双钮电子锁 76 下篇:基于FPGA的复杂数字系统(计算功能)设计 80 EDA技术实践教程 上篇:基本实验 1. 序 言 《EDA技术实践教程》是与理论课程《EDA技术及应用》或《数字电路EDA设计》配套开出的,是电子专业的一门专业实验课程,对电子专业的学生具有非常重要的作用。本门课程实验课与理论课同时进行,与理论课有着较密切的联系。因此在做本门实验课程之前必须具备以下的基础知识: 1、脉冲与数字电路的基础知识; 2、计算机常用的基本操作和一门高级语言基础; 3、一定的英语基础; 4、一定的可编程逻辑器件硬件知识、VHDL、Quartus Ⅱ软件使用基础。 可编程逻辑器件是与ISP(在系统可编程)技术和EDA(电子设计自动化)工具紧密结合、同时进行的。它代表了数字电子领域的最高水平,给数字电路的设计带来了革命性的变化。从70年代第一片可编程逻辑器件PROM的诞生到现在的CPLD/FPGA,数字系统的设计发生了本质的变化。从传统的对电路板的设计到现在的基于芯片的设计,使得数字系统设计的效率大大提高,产品更新速度大大加快,设计周期大大变短。所以本课程的学习有非常重要的意义。 本门实验课程不同于其它实验,他的实验手段和实验方法都有了重大的变化,主要体现在以下两个方面: 首先:实验方法不同。本门实验课程是在PC平台上,用原理图或文本进行输入,然后进行编译,通过之后再进行波形仿真,如有缺陷,再回过头去对源文件进行修改。其流程图如下: 修改 修改 修改 编写源文件 编译 仿真 下载 其次:实验手段不同。 本门实验课程是利用ISP技术、采用EDA工具、应用PLD 器件,在PC平台上进行的。 本门实验课程课的目的: 了解一类可编程逻辑器件,掌握一门硬件描述语言,熟悉使用一种EDA设计工具,设计自己的芯片。 学生学习完本门实验课程课后,应达到如下的要求: 1、能熟练使用本门实验课程的配套EDA软件Mux+plusⅡ; 2、掌握PLD 芯片的基本使用方法,能用现代数字系统的设计方法进行基本的数字系统设计; 3、掌握图形编辑和VHDL文本编辑两种设计方法,重点是VHDL文本编辑; 4、具备基本的开发能力,为后续学习打下坚实的基础。 2.实验规则及EDA实验室仪器设备操作规程 2.1 实验规则 为了维护正常的实验教学次序,提高实验课的教学质量,顺利的完成各项实验任务,确保人身、设备安全,特制定如下实验规则: 一、实验前必须充分预习,完成指定的预习内容,并写出预习报告,预习要求如下: 1、认真阅读本门实验课程指导书,分析掌握本次实验的基本原理; 2、完成各实验预习要求中指定的内容; 3、熟悉实验任务。 二、实验时,认真、仔细的写出源程序,进行调试,有问题向指导老师举手提问;调试成功准备下载时,必须请示指导老师,得到允许方可下载。 三、实验时注意观察,如发现有异常现象(电脑故障或实验箱故障),必须及时报告指导老师,严禁私自乱动。 四、实验过程中应仔细观察实验现象,认真记录实验数据、波形、逻辑关系及其它现象,记录的原始结果必须经指导教师审阅签字后,方可离开。 五、自觉保持实验室的肃静、整洁;实验结束后,必须清理实验桌,将实验设备、工具、导线按规定放好,并填写仪器设备使用记录。 六、凡有下列情况之一者,不准做实验: 1、没有写预习报告者; 2、实验开始后迟到10 分钟以上者; 3、实验中不遵守实验室有关规定,不爱护仪器,表现不好而又不服从管理教育者; 七、实验后,必须认真作好实验报告,下次实验时交实验指导老师批阅。没交实验报告者,在规定时间里必须交给实验指导老师,否则视为缺做一次实验。 八、一次未做实验,本门实验课程课成绩视为不及格,原则上与下一届学生进行重修。 以上实验规则,请同学们自觉遵守,并互相监督。 2.2 EDA实验室仪器设备操作规程 指导教师或实验工作人员应密切注视实验人员的操作行为,如发现不按操作规程办事,或随意乱动室内的仪器设备,应予以制止; 进行本门实验课程的学生,应具备一定的电脑知识,基本熟悉视窗windows操作系统的应用; 实验前,学生应在实验教师的指导下,学习实验软件Maxplus Ⅱ软件的基本使用方法,了解数字逻辑实验箱的使用方法,并在实验中逐步熟悉; 本实验室的仪器设备较贵重,严禁随意乱动;严禁在电脑上私设密码;实验时,必须按实验程序进行; 实验中,对于学生使用的各种仪器、仪表及实验连线,必须经实验指导教师审查确认后,方可接通电源;通电后,应随时观察是否正常工作,如发现异常情况,应立即切断电源,并报告指导教师,在故障未排除之前,严禁强行通电,否则后果自负; 学生在指定桌上实验,除本桌仪器外,不得擅自取用其它仪器设备;如确需要取用,须经指导教师同意; 实验过程中,如发现损坏仪器设备、仪表工具,或软件不能正常使用等情况,应立即报告指导教师或实验工作人员; 实验完毕后,实验人员应清点好实验所用的一切仪器设备,并经实验指导教师同意后方可离开; 违规操作损坏的设备,除照价赔偿外,并给予相应的纪律处分。 3. 数字系统及其设计方法 本节介绍数字系统的重要性以及数字系统的基本概念、设计方法。数字系统是现代世界数字化浪潮的基础,每天都有大量基于数字系统的产品问世,学会数字系统设计,就掌握了现代数字产品的开发技术。 3.1 数字系统的概念与设计 数字系统是由状态机和数字电路部件组成,在状态机的控制下处理数字信息传输、存储和运算的电子系统。这里状态机是控制部件,数字电路部件是受控电路,在控制部件的控制下,受控电路完成各种逻辑动作。数字系统的设计,主要是状态机的设计,将实际问题转换成状态机问题是数字系统设计的难点。 数字系统组成框图如图3.1所示。 各种接口电路、单片微处理器、各种控制器等都是数字系统的例子。数字系统设计分为较简单的控制器层次和较复杂的算法层次。 图 3.1 数字系统组成框图 3.2 数字系统设计架构方法 通常,数字系统的设计可以在以下几个层次上进行: 3.2.1、传统的数字系统逻辑设计法 传统的数字系统逻辑设计法,是采用真值表、卡诺图、逻辑表达式、状态图、状态表等描述逻辑问题的方法来设计,这种设计方法对输入、输出变量的个数非常敏感,当输入、输出变量的个数很多时,该方法无法有效使用。所以该方法只能用于小规模数字系统设计(目前已经很少使用了)。 3.2.2、传统的数字系统直接设计法 传统的数字系统直接设计法,是采用熟悉的固定功能数字器件,即采用SSI、MSI、LSI,如:计数器、寄存器、编码器、存储器、数据选择器等通用功能集成芯片,根据系统的设计要求,直接进行连线设计,构成所需数字系统。直接设计法需要设计者清楚地知道每一根连线的功能、逻辑电平和时序,通过设计电路板来实现系统功能。实际中很多设计都是采用这种方法。 (1)传统的数字系统直接设计法其设计步骤如下: a. 一般先按数字系统的具体设计任务、功能要求划分功能模块; b. 然后确定每个子模块的输入和输出的关系,画出真值表; c. 由真值表写出逻辑表达式; d. 利用公式或卡诺图进行人工化简; e. 根据化简后的逻辑表达式,结合现有的通用集成器件绘制逻辑电路原理图; f. 在面包板上进行实验,验证电路的正确性; g. 若无错误,再在CAD软件中绘制PCB图,检查后送制板厂制板; h. 对PCB板进行安装、调试,若有大的错误,修改设计,重复以上过程,重新制板。 (2)传统的数字系统设计方法的缺点 早期的数字系统的设计,由于芯片之间的众多连接造成系统可靠性不高;设计过程几乎依靠手工完成,设计周期长,容易出错,效率低下;需要通用芯片种类多、数量大,受市场供给的限制;设计灵活性差,如果某一过程存在错误,查找和修改十分不便,且容易造成浪费;集成度低,系统体积相对较大,当数字系统大到一定规模,复杂度提高时,设计、搭建、调试电路会变得非常困难甚至不可行;设计过程中产生大量文档,不易管理。 3.2.3、设计专用集成电路 ASIC(Application Specific Integrated Circuits,专用集成电路)是按用户的具体要求(如功能、性能或技术等),为用户的特定系统定制的集成电路。数字集成电路的通用性和大批量生产,使电子产品成本大幅度下降,推进了计算机通信和电子产品的普及,但同时也产生了通用与专用的矛盾,以及系统设计与电路制作脱节的问题。同时,集成电路规模越大,组建系统时就越难以针对特殊要求加以改变。为解决这些问题,就出现了以用户参加设计为特征的专用集成电路。图3.2所示为数字逻辑树状分类图,由其可以看出,专用集成电路是数字逻辑的一个主干分支,而可编程逻辑器件又是专用集成电路的一个重要分支,再向下现场可编程门阵列(FPGA)是专用集成电路中可编程逻辑器件的重要分支。 图3.2 数字逻辑树状分类图 另外,专用集成电路按实现方法可分为两类(见图3.3):一是全定制集成电路按规定的功能、性能要求,对电路的结构布局、布线均进行专门的最优化设计,以达到芯片的最佳利用。这样制作的集成电路称为全定制电路。对于全定制集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差。只有在生产出样片后才能进行实测。二是半定制集成电路由厂家提供一定规格的功能块,如门阵列、标准单元、可编程逻辑器件等,按用户要求利用专门设计的软件进行必要的连,从而设计出所需要的专用集成电路,称为半定制电路。本书主要介绍应用可编程逻辑器件(Programmable Logic Device PLD)实现数字系统,或者说实现专用集成电路的设计方法与技术。 图3.3 ASIC实现方法 应用可编程逻辑器件(Programmable Logic Device PLD)实现数字系统设计和单片系统的设计,是目前利用EDA技术设计数字系统的潮流。这种设计方法以数字系统设计软件为工具,将传统数字系统设计中的搭建调试用软件仿真取代,对计算机上建立的系统模型,用测试码或测试序列测试验证后,将系统实现在PLD芯片或专用集成电路上,这样最大程度地缩短了设计和开发时间,降低了成本,提高了系统的可靠性。 在可编程逻辑器件、硬件描述语言和EDA工具软件的支持下的数字系统设计方法是现代数字系统的设计方法。该设计方法是使用硬件描述语言为逻辑表达方式,直接对实际问题进行描述,通过仿真分析确定描述的正确性,可以在计算机的支持下使用EDA软件直接综合成可以下载(又称为编程、配置)到可编程逻辑器件的电路文件,这就减少了将真值表或状态图转化成电路的工作量,改由EDA工具软件自动完成,而将设计重点放在逻辑设计与实现。即以下三个重点问题: (a)实际问题的逻辑抽象,无论是传统的设计方法还是现代设计方法,将实际问题抽象成逻辑问题都是很重要的一步。因为只有人类的大脑才能完成这样复杂的工作; (b)数字部件的设计,数字部件是用直接设计法设计的,其特点是设计者清楚地知道数字部件中每一根线的作用、电平与时序,直接进行连线; (c)状态机的设计,传统的状态机设计是采用逻辑设计法设计的。而现代设计方法采用硬件语言直接描述状态图的方法设计状态机。 如绪论所述,在基于PLD器件进行数字系统的设计过程中,必须遵循自顶向下的数字系统设计理念。在保证数字系统的功能和各项技术指标情况下,将数字系统按照状态机模块和各个数字部件模块分解,形成一个系统总模块,多个分功能模块的层次系统,这就是自顶向下的设计方法。系统顶层模块只能有一个,分模块可以分层次互相嵌套。采用自顶向下设计方法可以在保证系统整体功能和技术指标的情况下,分别设计、描述、仿真各个功能模块,使设计更加简单。在各个模块都调试成功的情况下,再整体调试总系统模块,使系统调试成功率大幅度提高。这种设计方法的引入提高了数字系统设计中的数字信号可观测性问题。如果不采用自顶向下的模块设计方法,而是采用整个系统为一个模块,则根本无法测量与调试,因为很多信号连接在一起,变成了系统内部信号,很难进行观测。将数字系统划分成模块一定要按照功能划分,因为只有按照功能划分,才能单独进行设计、仿真和调试。 (1)基于可编程逻辑器件的数字系统设计开发流程 整个设计的步骤可直观表示如图3.4 : 图3.4 设计步骤示意图 先进的EDA工具已经从传统的自下而上的设计方法改变为自顶向下的设计方法,以硬件描述语言来描绘系统级设计,并支持系统仿真和高层综合。半定制ASIC的设计与制造,电子工程师在实验室借助并不复杂的工具与设备就可以完成整个工作流程。这完全得益于大规模、高性能、低功耗、低成本PLD器件的不断涌现、硬件描述语言的引入和功能强大的软件支持。CPLD/FPGA设计越来越复杂,使用硬件描述语言开发复杂数字系统已是大势所趋,目前使用最为广泛的硬件描述语言是VHDL和Verilog-HDL。使用CPLD/FPGA芯片设计电子系统时,一般都需要借助CPLD或FPGA制造公司所提供的开发系统和其他EDA厂商的专用工具协同完成。在本章最后一节我们讲对器件、语言和开发工具做简介,读者也可以提前参考该部分内容。这里,我们借助PLD逻辑设计流程图(图3.5)就完成以可编程逻辑器件为物理载体,使用硬件描述语言为主要的逻辑表达方式,借助EDA软件完成整个数字系统设计需要所需步骤作介绍: 注:在下面流程图中,每一阶段若有问题,可在计算机上直接修改设计,重复本阶段以上过程。直到最后系统设计正确为止。 (1)设计定义 (2)HDL实现 逻辑仿真器 (3)功能仿真 逻辑综合器 (4)逻辑综合 逻辑仿真器 (5)前仿真 FPGA厂家工具 (6)布局布线 (8)静态时序分析 逻辑仿真器 (7)后仿真 (9)在系统测试 图3.5 PLD逻辑设计流程图 说明: 逻辑仿真器主要指modelsim,Verilog-XL等。 逻辑综合器主要指Synplify、LeonardoSpectrum、FPGA Express/FPGA Compiler等。 FPGA厂家工具指的是如Altera的QuartusII,Xilinx的ISE等。 a.根据设计任务要求,选择设计方案。采用自顶向下的设计方法划分功能模块,并画总系统模块的原理框图。 b.HDL设计输入实现与代码优化 用使用硬件描述语言HDL(VHDL或Verilog-HDL)、状态图与原理图输入三种方式输入需要完成的逻辑电路,是本步的主要工作。HDL设计方式是现今设计大规模数字集成电路的主流形式,除IEEE标准中VHDL与Verilog HDL两种语言外,尚有各自FPGA厂家推出的专用语言,如Quartus下的AHDL。HDL语言描述在状态机、控制逻辑、总线功能方面较强,使其描述的电路能特定综合器作用下以具体硬件单元较好地实现;而原理图输入在顶层设计、数据通路逻辑、手工最优化电路等方面具有图形化强、单元节俭、功能明确等特点,另外,在Altera公司Quartus软件环境下,可以使用Momory Editor对内部memory进行直接编辑置入数据。常用方式是以HDL语言为主,原理图为辅,进行混合设计以发挥二者各自特色。通常,FPGA厂商软件与第三方软件设有接口,可以导入第三方设计文件进行处理。如Quartus与ISE都可以把EDIF网表作为输入网表而直接进行布局布线,布局布线后,可再将生成的相应文件交给第三方进行后续处理。 c.功能仿真(前仿真) 仿真是指使用设计软件包对已实现的设计进行完整测试,模拟实际物理环境下的工作情况。从广义上讲,设计验证包括功能与时序仿真和电路验证。本处是寄存器传输级(RTL)仿真,此级仿真是对设计的语法和基本功能进行验证(不含时序信息),以了解其实现的功能否满足设计的要求,仿真过程没有加入时序信息,不涉及具体器件的硬件特性,如延时特性。 d.逻辑综合 综合(Synthesis)指“设计描述的一种形式向另一种描述形式的转换”。就是针对给定的电路实现功能和实现此电路的约束条件,如速度、功耗、成本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电路设计方案。也就是是说,被综合的文件是HDL文件(或相应文件等),综合的依据是逻辑设计的描述和各种约束条件,综合的结果则是一个硬件电路的实现方案,该方案必须同时满足预期的功能和约束条件。对于综合来说,满足要求的方案可能有多个,综合器将产生一个最优的或接近最优的结果。因此,综合的过程也就是设计目标的优化过程,最后获得的结构与综合器的工作性能有关。 使用CPLD或FPGA芯片设计电子系统时,要综合考虑面积和速度的平衡。这里“面积”指一个电路设计所消耗FPGA/CPLD的逻辑资源的数量,对于FPGA可以用所消耗的触发器(FF)和查找表(LUT)的数量来衡量。更一般的衡量方式可以用设计所占用的等价逻辑门数来衡量。而”速度“指设计在芯片上稳定运行时,所能够达到的最高频率,这个频率由设计的时序、时钟周期、芯片管脚到管脚的延迟时间等众多时序参数决定。面积和速度这两个指标贯穿着FPGA/CPLD设计的始终,是设计质量的评价标准。同时具备设计面积小,运行频率又最高是不现实的。设计目标应该是在满足设计时序要求(包含对设计频率的要求)的前提下,占用最小的芯片面积;或者在所规定的面积下,使设计的时序余量更大,频率跑得更高。这两种目标充分体现了面积和速度平衡的思想。一方面,如果设计的时序余量比较大,运行的频率比较高,则意味着设计的健壮性更强,整个系统的质量更有保证:另一方面,设计所消耗的面积更小,则意味着在单位芯片上实现的功能模块更多,需要的芯片数量更少,整个系统的成本也随之大幅度削减。作为矛盾的两个组成部分,面积和速度的地位是不一样的。相比之下,满足时序、工作频率的要求更重要一些,当两者冲突时,采用速度优先的准则。 综合工具就是帮助设计者进行特定转换的软件工具。利用该工具可自动进行逻辑综合,将功能描述转换为门级描述,或转换成具体PLD的网表文件,将网表文件自动适配到具体芯片中进行布局布线;使用逻辑综合工具,将源文件调入逻辑综合软件进行逻辑分析处理,即将高层次描述(行为或数据流级描述)转化为低层次的网表输出(寄存器与门级描述),逻辑综合软件会生成EDIF(Electronic Design Interchange Format)格式的EDA工业标准文件。 这些文件是用户在设计中使用各种逻辑门以及这些逻辑门之间的连接的描述。这一步在PLD开发过程中最为关键,影响综合质量的因素有两个,即代码质量和综合软件性能。用于FPGA和CPLD的综合工具有Cadence的synplify,Synopsys公司的FPGA express和FPGA compiler,Mentor公司的leonardo spectrum等。一般来说,不同的FPGA厂商提供了适用于自己的FPGA电路的专用仿真综合工具。 e.前仿真 本处是针对特定的FPGA厂家技术的仿真,此级伪真是在综合后、实现前而进行的功能级仿真,功能级仿真一般验证综合后是否可以得到设计者所需要的正确功能。即:在功能级仿真阶段,一般验证综合后是否仍与RTL级仿真结果相同。 f.映射、布局布线及其优化 本步为实现过程,实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能连接的布线通道进行连线,并产生相应文件(如配置文件与相关报告)。使用实现工具(Implementation Tools)将这些逻辑门和内部连线映射到FPGA或CPLD芯片中。实现工具包括映射工具(Mapping Tool)和布局布线工具(Place&Route Tool)。映射工具把逻辑门映射到FPGA芯片中的查找表(LUT)单元或CPLD芯片中的通用逻辑单元(GLB),布局布线工具将这些逻辑门和逻辑单元连接在一起,实现复杂的数字逻辑系统。 通常实现过程可分为如下五个步骤: (a)转换:将多个设计文件进行转换并合并到一个设计库文件中。 (b)映射:将网表中逻辑门映射成物理元素,即把逻辑设计分割到构成可编程逻辑阵列内的可配置逻辑块与输入输出块及其它资源中的过程。 (c)布局与布线:布局是指从映射取出定义的逻辑和输入输出块,并把它们分配到FPGA内部的物理位置,通常基于某种先进的算法,如最小分割、模拟退火和一般的受力方向张弛等来完成;布线是指利用自动布线软件使用布线资源选择路径试着完成所有的逻辑连接。因最新的设计实现工具是时序驱动的,即在器件的布局布线期间对整个信号通道执行时序分析,因此可以使用约束条件控制布线软件,完成设计规定的性能要求。在布局布线过程中,可同时提取时序信息形成报靠。 (d)时序提取:产生一网表文件,供给后续的时序仿真使用。 (e)配置:产生FPGA配置时的需要的位流文件。 在实现过程中可以进行选项设置。因其支持增量设计,可以使其重复多次布线,且每次布线利用上一次布线信息以使布线更优或达到设计目标。在实现过程中应设置默认配置的下载形式,以使后续位流下载正常。 g.后仿真(时序仿真) 由于不同的器件、不同的布局布线造成不同的延时,因此对系统进行时序仿真,检验设计性能,消除竞争冒险是必不可少的步骤。 本处仿真是门级仿真,此级仿真是针对门级时序进行的仿真,门级仿真体现出由于布局布线而产生的实际延时。在RTL仿真阶段,应该建立一个测试台.此测试台可以在整个FPGA流程中进行仿真验证(RTL级、功能级、时序门级)。测试台不但提供测试激励与接收响应信息,而且可以测试HDL仿真流程中的关键功能(如运算部件输出值的正确性等)。测试台的产生可以直接使用文本编程得到,也可以使用图形化工具输入,再由软件翻译为HDL格式,例如使用HDL Bencher软件利用其良好的波形输入界面输入测试激励,再由其自动转化为HDL格式而得到。 h.设计下载与在系统测试 上述过程完成后,在EDA软件中形成可下载的电路文件,下载到可编程逻辑器件中实现数字系统。下载是在功能仿真与时序仿真正确的前提下,将综合后形成的位流下载到具体的FPGA芯片中,也叫芯片配置。开发系统提取CPLD或FPGA的连接开关和连接开关矩阵的状态,并且生成对应于连接开关断开和接通的1和0的熔丝图或BIT流文件。将BIT流文件或熔丝图文件编程下载到实际的FPGA或CPLD芯片中,在硬件上实现设计者用电路原理图或硬件描述语言描述的设计,在实验开发工具上进行验证; FPGA设计有两种配置形式:直接由计算机经过专用下载电缆进行配置;由外围配置芯片进行上电时自动配置。因FPGA具有掉电信息丢失的性质,因此可在验证初期使用电缆直接下载位流,如有必要再将烧录配置芯片中。使用电缆下载时有多种直载方式,如对Xilinx公司的FPGA下载可以使用JTAG Programmer、Hardware Programmer、PROM Programmer三种方式,而对Altera公司的FPGA可以选择JTAG方式或Passive Serial方式。因FPGA大多支持IEEE的JTAG标准,所以使用芯片上的JTAG口是常用下载方式。 将位流文件下载到FPGA器件内部后进行实际器件的物理测试即为电路验证,当得到正确的验证结果后就证明了设计的正确性.电路验证对FPGA投片生产具有较大意义。 (2)设计包含PLD芯片的电路板 a在计算机上利用EDA软件画电路原理图; b 进行电气规则检查无误后,自动生成网表文件; c 利用EDA软件画PCB图,自动布线; d 自动进行设计规则检查,无误后输出文件,制板。 (3)基于PLD器件设计优点 采用PLD器件,借助HDL,利用EDA工具开发数字系统具有如下优点: 效率高,所有这一切,几乎都是借助计算机利用EDA软件自动完成;容易检查错误,便于修改;设计周期短、成功率很高;产品体积小,集成度高。 (4) 基于PLD器件开展数字系统将遇到的问题和和需要克服的困难 学习数字系统应该解决如下问题和克服如下困难: a.选择使用哪家公司的可编程逻辑器件(PLD)产品,读产品数据手册,了解产品信息,包括:获得器件的数据说明(Data Sheet);熟悉器件各个引脚的作用;熟悉器件的电参数(极限参数、建议参数和直流参数);熟悉电路文件的下载方式(电缆、软件等);获得器件(如何购买); b.购买或获取相关的开发软件; c.购买或制作实验装置,如果自制实验板,还需要自己制作或购买下载电缆; d.学习开发软件的使用、实验装置的使用; e.学习硬件描述语言; f.数字系统方案选择; g.拆分系统到不同层次的模块; h.实际问题变成状态机问题; i.输入有效的输入信号对系统仿真; j.读懂波形,分析设计的正确性; k.设计-仿真-再设计。 4. 教学系统介绍 4.1 配套硬件要求: 1、 PC机:要求586或以上的微机,内存需64MB以上,硬盘需1G以上。 2、 示波器:20M示波器。 3、 单片机仿真器。 4.2 RC-EDA-2000C型实验箱 1、 实验箱基本配套: RC-EDA-2000C实验箱一台;电源线一根;PAC、CPLD/FPGA下载电缆各一根;RS-232电缆一根;实验指导书一本;实验连线30根。 2、 系统结构组成: RC-EDA-2000C实验箱组成框图 3、 实验箱结构特点说明: 芯片结构板:实验箱采用Altara公司的EP1K10TC100—3芯片,位于实验箱组成框图的14所示位置,具的低内核电压、低功耗的特点。芯片内门电路高达1万门,内部使用RAM作电路结构,速度高达几百MHZ,其输出可用管脚已全部开放,位于芯片的四周,用户可以根据自己的要求和芯片本身的功能自己任意定义管脚。同时为了体现实验箱的可扩展性,在芯片的两边各有一个34脚的IDE插口,可以通过数据排线与其它应用模块相连接,其具体的管脚如下图所示: 其下载口位于实验箱组成框图的7所示位置。 显示类模块:实验箱中有液晶显示模块(LCD);8位7段数码管显示输出;;8位发光二极管(LED灯)等几个显示模块。其功能是为了显示其实验的结果。 液晶显示模块(LCD):实验箱采用进口双排16字符液晶显示模块组成,位于实验箱组成框图的16所示位置,其结构电路详见实验。其输入、输出信号在其下方,由13个连接孔与其它模块连接。 8位7段数码管:位于实验箱组成框图的9所示位置,采用2个进口共阴高红7段数码管组成,其连接管脚位选信号在数码管的左边由连接孔SEL0、SEL1、SEL2与其它模块连接。 8×8位点阵:位于实验箱组成框图的15所示位置,横排8位显示的控制信号在点阵右边的38译码器的下方,由SEL0、SEL1、SEL2连接孔与其它模块连接。其电路如下图所示: 8位发光二极管(LED):位于实验箱组成框图的13所示位置。其输入由位于其下方的8位连接孔与其它模块连接,可以模拟二进制数据输出。 接口类模块:实验箱有视频接口(VGA)、USB接口、RS232接口、通信模块的接口等几个模块。VGA接口位于实验组成框图的19所示位置,USB接口位于实验组成框图的24所示位置,RS232接口位于实验组成框图的25所示位置。其信号输入输出均由位于模块左边的连接孔与其它模块连接。其电路原理在实验中均的详细说明。通信模块的输入输出位于实验箱组成框图的17、18所示位置。 输入类模块:在实验箱中输入类模块有:4×4键盘输入、8位复位开关、8位DIP开头、24M~2HZ分频电路等模块。为其它模块提供必要的输入信号等。 4×4键盘、复位开关:在实验箱组成框图的22所示位置。4×4键盘主要是通过编程实现0~F的输入,也可以作为一个控制键。在其上方的连接孔R1、R2、R3、R4控制横向4位;C1、C2、C3、C4纵向4位。复位开关可以通过手动控制为系统提供脉冲信号。在系统中一共提供了8位的按键开关,当按下键后其输出为低电平,反之则为高电平。其输出端位于其模块的上方与其一一对应的连接孔K1~K8。 DIP开关:位于实验箱组成框图中的21所示位置。主要功能是能保持高低电平,通过手动控制为系统提供稳定的逻辑信号。在系统中,一共提供了8位的拨档开关,当开关的档位在上方时则输出高电平,反之则输出低电平。其输出端位于其模块的上方与其一一对应的连接孔S1~S8。 24M~2HZ分频电路:在实验箱组成框图的20所示位置。在这个模块中采用的是两个时钟源,一个是24M的高频时钟;一个是32768HZ能完成二次分频的时钟。时钟输出通过其上方的四组跳线改变其频率的输出,每一组频率相对独立。其频率值在电路板上均已标明。用户也可以通过软件的方式来实现分频。每一组的频率输出端位于其上方对应的CLK1、CLK2、CLK3、CLK4连接孔(注意:每组频率输出的双排针上只能有一个跳线帽)。 A/D、D/A转换模块:位于实验箱组成框图中的3和5所示位置。其功能主要是完成模、数和数、模转换。 AD0809芯片:AD0809芯片是一个8通道、8位逐次逼近式A/D转换器,因其性能、价格比高而被广泛应用。其A/D转换器管脚分布图如下图所示: 在上图中CH0~CH7为该芯的8个模拟输入通道,其输入端位于其上方对应的CH0~CH7
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服