毕业论文:基于eda技术的交通灯控制器的设计终稿内容摘要:

在的 VHDL 程序。 这里所谓的元件,既可以被高层次的系统所调用,成为该系统的一部分,也可以作为一个电路功能块独立存在和独立运行。 第一章 绪 论 8 图 11 VHDL 程序设计基本结构 CPLD简介 复杂可编程逻辑器件( CPLD, Complex Programmable Logic Device)是在 EPLD(Erasable Programmable Logic Device)的基础上改进而发展起来的,大多采用 CMOS EPROM/EEPROM 和快闪存储器等编程技术,因而具有高密度、高速度和低功耗等优点。 与 EPLD 相比, CPLD 增加了内部连线,并对逻辑宏单元和 I/O 单元做了重大改进,从而改善了系统的性能,提高了器件的集成度。 尤其是在 CPLD 中引入系统编程( ISP, In Syste m Programmable)技术后,使 CPLD 的应用更加方便灵活,深受设计人员的青睐,现已成为电子系统设计的首选器件之一。 目前 ,生产 CPLD 器件的著名公司主要有 Altera、 AMD、 Lattice、Cypress、 Xilinx 等公司。 所生产的产品多种多样,器件的结构也有很大的差异,但大多数公司的 CPLD 仍使用基于乘积项的阵列型单元结构。 例如Altera 公司的 MAX 系列 CPLD 产品、 Xilinx 公司和 Lattice 公司的 CPLD产品都采用可编程乘积项阵列结构。 CPLD 结构与工作原理 基于乘积项阵列型 CPLD 的基本结构如图 12 所示,主要有可编程内部连线、逻辑块和 I/O 单元组成。 第一章 绪 论 9 图 12 基于乘积项阵列型 CPLD 的 基本结构 可编程逻辑宏单元 逻辑宏单元内部主要包括与或阵列、可编程触发器和多路选择器等电路,能独立地配置为时序或组合工作方式。 CPLD 除了密度高之外,许多优点都反映在逻辑宏单元上。 表现在多触发器结构和“隐埋”触发器结构、乘积项共享结构、异步时钟和时钟选择上等。 可编程 I/O 单元 I/O 单元是内部信号到 I/O 引脚的接口部分。 由于阵列型 CPLD 通常只有少数几个专用输入端大部分端口均为 I/O 端,而且系统的输入常常需要锁存,因此 I/O 常常作为一个独立的单元来处理。 可编程连线阵列 可编程连线阵列的作用是 在各逻辑宏单元之间以及逻辑宏单元和 I/O单元之间提供互连网络。 各逻辑宏单元通过 可编程连线阵列接受来自专用输入或输出 端的信号,并将宏单元的信号反馈到其需要到达的目的地。 这种互连机制有很大的灵活性,它允许在不影响引脚分配的情况下改变内部的设计。 本设计中使用 Altera 公司提供的 PLD 系列产品中的 FLEX10K 系列器件,它是高密度阵列嵌入式可编程逻辑器件系列。 主要有嵌入式阵列快第一章 绪 论 10 EAB(Embedded Array Block)、逻辑阵列块 LAB(Logic Array Block)、行列快速互连通道和 I/O 单元 几部分组成。 其中逻辑阵列块是由多个逻辑单元LE(Logic Element)构成。 逻辑单元 LE 是 FLEX10K 系列器件结构中最小的逻辑单元,每个 LE含有一个提供 4 输入组合逻辑函数的查找表( LUT—Look Up Table),以及一个能提供时序逻辑能力的可编程寄存器。 每 8 个 LE 组成一组,构成一个逻辑阵列块 LAB。 每个 LAB 在器件中是独立的一个模块, LAB 中的LE 具有共同的输入、互连与控制信号。 同一模块的电路一般安排在同一LAB 中,因此只有少部分输入和输出使用行列快速互连通道,从而降低了逻辑阵列规模。 嵌入 阵列块 EAB 是由 RAM/ROM 和相关的输入、输出寄存器构成。 它可提供 2048 位片内寄存器。 EAB 也可编程作 为大型的复杂逻辑功能查找表, 实现乘法器、微控制器、状态机、数字信号处理等复杂的逻辑功能。 在 FLEX10K 系列器件中, LAB 和 EAB 排成行与列,构成二维逻辑阵列。 位于行和列两端的 I/O 单元。 每个 I/O 有一个双向的 I/O 缓冲器和以即可作输入寄存器也可作输出寄存器的触发器。 FLEX10K 系列器件内部信号的互连是通过行列快速互连通道和 LAB 局部互连通道实现的。 CPLD 的开发流程 基于 EDA 软件的 CPLD 一般性的开发流程如下: ( 1) 工程师根据“自顶向下”的设计方法进行系统层次化分 ; ( 2) 输入 VHDL 代码。 也可采用比较直观的图形输入方式设计输入; ( 3) 将以上的设计输入编译成标准的 VHDL 文件; ( 4) 进行代码 级的功能仿真(不涉及硬件结构),主要是检验系统功能设计的正确性; ( 5)利用综合器对 VHDL 源代码进行综合优化处理,生成门级描述的网络表文件; ( 6)时序仿真 ; ( 7)适配(产生下载文件、仿真文件、适配技术报告); 第一章 绪 论 11 ( 8)下载到 FPGA 器件。 EDA开发软件 MAX+PLUSⅡ简介 MAX+PLUSⅡ是 Altera 公司推出的第三代 CPLD/FPGA 应用开发系统,它将用户所设计的电路原理图或电路描述转变为 CPLD/FPGA 内部的基本逻辑单元,写入芯片中,从而在硬件上实现用户所设计的地电路。 MAX+PLUSⅡ的具体功能主要包括:支持原理图和文本( AHDL、 VHDL、Verilog HDL)设计;自带综合器、仿真器;支持波形输入;支持波形模拟;时间分析;编译及下载。 特别在原理图输入方面,可以说是最容易使用,尤其适合初学者使用,因为它具有运行速度快,界面统一,功能集中,易学易用等特点。 MAX+PLUSⅡ界面友好,使用方便、易用易学; 它支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的工程模块(元件)进行调用,从而解决了原理图与 HDL 混合输入设计的问题。 在设计输入后, MAX+PLUSⅡ的编辑器将给出设计输入的错误报告。 MAX+PLUSⅡ拥有良好的设计错误定位器,用于确定文本或图形设计中的错误。 它的器件系列从最初的 Max 系列到最新的 FLEXIOK 系列,从 500 门到 10 万门提供了满足各种条件需要的一系列器件。 其中最为先进的 FLEX系列采用独特的快通道技术,使得器件的可 预测性大大增强,速度也得到提高,资源利用率达 70%左右时, FLEX1OK 系列可以提供 70MHz 左右的工作速度。 MAX+PLUSⅡ结合各种系列器件的物理结构,提供了各种的优化措施,以在提高工作速度和资源利用率之间给以平衡。 从而对大多数设计提供解决方案。 利用该工具所配备的编辑、编译、仿真、综合、芯片编程等功能,可将设计电路图或电路描述程序变成基本的逻辑单元写入到可编程的芯片中 (如 CPLD 芯片 ),做成 ASIC 芯片。 MAX+PLUSⅡ具有的新、旧宏功能模块及在平台的帮助菜单,十分便于设计者运用这些模块完成较复杂的设 计。 用户首先对所做项目进行设计,明确设计目的、设计要求;然后利用原理图输入方式或文本输入方式进行 设计输入输出 完成后,进行编译,若第一章 绪 论 12 编译过程中发现错误,则检查设计输入,修改编 码,直至没有错误发生 :编译完成后,就可以进行仿真, MAX+PLUSⅡ具有门级仿真器,可以进行功能仿真和时序仿真,能产生精确的仿真结果,检查设计是否达到设计要求,否则还需要重新检查设计输入。 在适配( Fitter)之后, MAX+PLUSⅡ生成供时序仿真用的不同格式的网表文件。 在进入编译网提取功能后,MAX+PLUSⅡ将从适配文件中提取 SNF 时序仿真文件 Simulation Netlist File(仿真网表文件)。 SNF 文件详细记录了当前适配的延时和逻辑功能的信息,可用于对设计进行时序仿真。 在作仿真前,需要利用波形编辑器编辑一个波形激励文件,用于仿真验证时的激励。 编译和仿真经检验无误后,就可以进行烧录,把设计程序下载到目的芯片中。 最后把芯片放到实际系统中进行验证、测试。 MAX+PLUSⅡ借助 EDIF 网表文件, SRAM 目标文件 (.sof), LPM 和 VHDL 能与 Candence, Mentor Graphics, Or CAD, Synopsys, Synplicity 和 Viewlogic 等公司提供的其他多种 EDA 工具接口。 MAX+PLUS Ⅱ编译器可在 PC 机及各种工作站平台上运行,这使MAX+PLUSⅡ成为工业界唯一与平台和结构无关的可编程逻辑设计环境。 由于本设计过程中主要用到文本输入所以这里就介绍文本输入的基本操作首先选择菜单“ File”→“New…” , 出现一个对话框,在框中选中“Text Editor file”,按 “OK”按钮,即选中了文本编辑方式。 在出现的“UntitledText Editor”文本 编辑窗口中输入程序。 输入完毕后 ,选择菜单“ File→Save” ,首先在 “Directories”目录中选择存放本文件的目录,然后在 “File Name”框中输入文件名, 此时要注意,文件名的后缀是“ .vhd”,然后按 “OK”按钮,即把输入的文件放在 “Directories”目录中了。 文件的后缀名将决定使用的语言形式,在 MAX+PLUSⅡ 中,后缀为 .VHD 表示 VHDL文件;后缀为 .TDF 表示 AHDL 文件;后缀为 .V 表示 Verilog 文件。 文件存盘后,需要进行编译、仿真。 此时先选择“ FILE” → “ PROGECT”→ “ SET PROGECT TO CURRENT FILE”即将当前文件设为当前工程。 然后在选择“ MAX+PLUSⅡ” → “ piler”,之后再点击“ start”进行编译。 在编译之前,可先进行功能仿真。 在点击“ piler”之后, 在菜单栏中选择“ processing” ,出现下拉菜单,在“ Function SNF extractor”前打第一章 绪 论 13 对号即选择了功能仿真,再 开始编译。 此时若会提示有无错误,若无错误则编译成功,否则就 会出现错误提示,我们可根据提示进行修改,直到无错误为止。 之后,再 去掉“ Function SNF .extractor”前的对号,进行时序仿真。 为了能在图形编辑器中调用我们所需要的模块 ,需要为 次模块 创建一个元件图形符号。 选择菜单 “File”→“Creat Default Symbol” , MAX+PLUSⅡ 出现一个对话框,询问是否将当前工程设为 我们所需要的文件 ,可按下“确定 ”按钮。 这时 MAX+PLUSⅡ 调出编译器对 刚才的文件 进行编译,编译后生成 对应 的图形符号。 如果源程序有错,要对源程序进行修改,重复上面的步骤,知道此元件符号创建成功。 成功后出现元件符号创建成功的对话框。 退出编译器,再退出编译器,回到主窗口。 第二章 方案选择与 系统结构 14 第二章 方案选择与系统结构 随着计算机、集成电路等技 术的发展与不断完善,电子产品的设计方法也越来越多样化。 在交通灯信号控制器设 计过程中由于考虑到器件选择、设计规模、电路功耗、设计是否简单可靠等诸多因素,设计方案选择如下: 方案一:采用数字逻辑电路制作,用 IC 拼凑焊接实现。 其特点是直接用现成的 IC 组合而成,简单方便 ,但由于使用的器件较多,连线复杂,体积大,功耗大,焊点和线路较多将使成品稳定度与精确度大打折扣。 方案二:采用单片机实现,通过软件编程,仿真后将程序用编辑器写入到单片机芯片上,该 方案成本低,稳定度好,但外围电路也较多,调试不够直观方便灵活。 方案三:采用可编程逻辑器件( PLD)制作,利用 EDA 软件编程,下载 实现。 将所有器件集成在一块芯片上,体积大大减小的同时,还提高了稳定性,并且可应用 EDA 软件仿真,调试,每个设计人员可以充分利用软件代码,提高开发效率,缩短研发周期,降低研发成本。 易于进行功能扩展,可以利用频率计的核心技术,改造成其它成品。 实现方法灵活,调试方便,修改容易。 比较以上几种方案,易见采用方案三更优。 根据设计的规模及实现可操作性,方案三的设计中具体方法与器件的选择如下 : 可编程逻辑器件 (PLD)包括复杂可编程逻辑器件 (CPLD)和现场可编程门阵列( FPGA),两者的功能基本相同,只是实现原理略有不同。 CPLD 最早由 Altera公司推出,多为 Flash、 EEPROM 架构或乘积项架构的 PLD。 FPGA 最早由 Xilinx公司推出,多为 SRAM 架构或查表( Look Up Table)架构,需要外接配置用的EPROM 下载。 两者的比较如下: CPLD 与 FPGA 的相同点 CPLD 与 FPGA 在很大程度上具有类似之处,概括起来可以 认为它们都是由三个部分组成:输入 /输出单元、二维逻辑 块阵列(是 PLD 器件的逻辑组成的核心)、可编程内部连线。 第二章 方案选择与 系统结构 15 CPLD 与 FPGA 的差别 CPL。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。