EDA技术与应用讲义 第3章 原理图输入设计方法 QUARTUS II版本
第3章 原理图输入设计方法Quartus II 版操作 课程讲义,上一章,下一章,本章内容,何时使用 原理图设计输入常用文件介绍设计步骤元件库 和 Altera 宏的使用如何将VHDL代码文件生成 图形 符号,何时使用 原理图设计输入 ?,符合 传统的 电路设计 习惯一般只是在 “top-level”(顶层)文件中使用?,Quartus II常用文件介绍,一般步骤,电路的模块划分设计输入器件和引脚指配编译与排错功能仿真和时序仿真编程与配置,设计代码的芯片运行,电路的模块划分,人工 根据电路功能 进行 模块划分合理的模块划分 关系到电路的性能实现的难易程度根据模块划分和系统功能 确定: PLD芯片型号模块划分后,就可以进行 具体设计 了,设计输入,一般EDA软件允许3种设计输入:HDL语言电路图波形输入,图形设计输入的过程,+,+,图形设计:图元,图形设计:端口,如何编写一个新的图形文件?,FILE->NEW出现以下对话窗,选择如下:,如何调入元件?,Edit->Insert Symbol 出现下面窗口,将自己编写的符号调入,从标准库中调入,将符号之间连线,调入I/O端口元件符号,2类 标准库,Megafunctions/LPM 宏模块 功能复杂、参数可设置的模块Primitives 基本图元 简单的、功能固定的逻辑元件,不可调整参数,如何将VHDL设计编程Symbol,VHDL文件编译后,自动生成同名的符号文件符号文件的扩展名称(*.bsf)调入过程如下:,何为 ? 器件和引脚指配,器件指配为设计输入 选择合适的PLD器件型号何谓引脚指配将设计代码(图形)中的端口(PORT) 和 PLD芯片的引脚 (PIN) 对应起来的.指配文件MAX+PLUS II: “ *.acf ” Quartus II: “ *.qsf ”,器件和引脚指配的方法,方法有2种在软件的菜单界面中指配修改指配文件(是文本文件),菜单界面中指配,修改指配文件,CHIP io_2d_lockBEGIN|iVD :INPUT_PIN = 7;|iHD :INPUT_PIN = 8;|iDENA :INPUT_PIN = 6;|iCLK :INPUT_PIN = 211;|oCLK :OUTPUT_PIN = 237;|oVD :OUTPUT_PIN = 234;|oHD :OUTPUT_PIN = 233;|oDENA :OUTPUT_PIN = 235;.DEVICE = EPF10K30AQC240-2;END;.,编译与排错,编译过程有2种,作用分别为:语法编译:只是综合并输出网表编译设计文件,综合产生门级代码编译器只运行到综合这步就停止了编译器只产生估算的延时数值完全的编译:包括编译,网表输出,综合,配置器件编译器除了完成以上的步骤,还要将设计配置到ALTERA的器件中去编译器根据器件特性产生真正的延时时间和给器件的配置文件,功能仿真和时序仿真,仿真的概念:在设计代码下载到芯片前,在EDA软件中对设计的输出进行波形仿真。常用的2种仿真模式功能仿真对设计的逻辑功能进行仿真时序仿真对设计的逻辑功能和信号的时间延时进行仿真。仿真前还要做的工作输入信号的建立,Quartus II软件中关于仿真的原文,2种 仿真文件,矢量波形文件: a Vector Waveform File (.vwf)文本矢量文件 a text-based Vector File (.vec),编程与配置,最后, 如果仿真 也正确 的话, 那我们就可以 将设计代码 配置或者编程 到 芯片 中了编程的文件类型对于CPLD或者EPC2,ECS1等配置芯片,编程文件扩展名为:“ *.POF “配置的文件类型对于FPGA芯片,配置文件扩展名为:“ *.SOF “,硬件设计和软件设计的时间协调,软件模块划分,器件的初步信号确定(主要是根据需要的I/O引脚的数量)软件设计,硬件外围电路设计和器件选择 软件仿真仿真完成后,器件信号的重新审核,进行硬件电路图设计综合调试完成,设计的几个问题,如何组织多个设计文件的系统?,项目的概念。时钟系统如何设计?电路的设计功耗高速信号的软件和硬件设计,The end.,以下内容为正文的引用,可不阅读。,常用EDA工具软件,EDA软件方面,大体可以分为两类:PLD器件厂商提供的EDA工具。较著名的如:Altera公司的 Max+plus II和Quartus II、Xilinx公司的Foundation Series、Latice-Vantis公司的ispEXERT System。第三方专业软件公司提供的EDA工具。常用的有:Synopsys公司的FPGA Compiler II、Exemplar Logic公司的LeonardoSpectrum、Synplicity公司的Synplify。第三方工具软件是对CPLD/FPGA生产厂家开发软件的补充和优化,如通常认为Max+plus II和Quartus II对VHDL/Verilog HDL逻辑综合能力不强,如果采用专用的HDL工具进行逻辑综合,会有效地提高综合质量。,ALTERA 公司的EDA合作伙伴,硬件描述语言:起源,是电子电路的文本描述。最早的发明者:美国国防部,VHDL,1983大浪淘沙,为大者二:VHDL 和 Verilog HDL其他的小兄弟:ABEL、AHDL、System Verilog、System C。,一个D触发器的VHDL代码例子,- VHDL code position: p83_ex4_11_DFF1- LIBARY IEEE;- USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF1 IS PORT (CLK:INBIT;D:INBIT;Q:OUTBIT);END ENTITY DFF1;ARCHITECTURE bhv OF DFF1 ISBEGINPROCESS(CLK)BEGINIF CLK'EVENT AND (CLK='1') AND ( CLK'LAST_VALUE = '0') THEN- 严格的CLK信号上升沿定义Q <= D;END IF;END PROCESS;END ARCHITECTURE bhv;,代码实体(510),代码结构体(1120),如何使用VHDL来设计电路?,VHDL设计电路的的5步曲语言编码逻辑综合功能和时序仿真器件适配器件编程,使用MAX+PLUS II软件的设计过程,MAX+PLUS II设计过程说明,Compiler Netlist Extractor(编译器网表提取器):通过该过程生成设计项目的网表文件,Database Builder(数据库构建器 ):用于将所有的设计文件集成到项目数据库中 如果指定端口的实体已被抽取. 则从盘中读取. cnf文件信息就可以了, 因而节省了时间. Logic Synthesizer (逻辑综合器):选择合适的逻辑化简算法,去除冗余和无用逻辑,有效使用器件的逻辑资源. Fitter(适配器)将电路适配到某个PLD器件中。Timing SNF Extractor(时序SNF文件提取器)产生用于时序仿真的网表文件Assembler(汇编器)产生用于器件编程的目标代码,其他的HDL综合工具,Altera公司MAX+PLUS II 10.2(已经停止发行,新器件不支持)QUARTUS II 5.0(推荐使用)Xilinx 公司ISE 7.0:Xilinx公司集成开发的工具 Foundation: Xilinx公司早期开发工具,逐步被ISE取代 ISE Webpack: Webpack是xilinx提供的免费开发软件,功能比ISE少一些,可以从xilinx网站下载,有了HDL语言后?,硬件设计人员 的工作过程 已经 类似与 软件设计人员,那么这种模式的好处是?让我们先看看原来是如何做的>,Compiler Netlist Extractor(编译器网表提取器),The Compiler module that converts each design file in a project (or each cell of an EDIF Input File) into a separate binary CNF. The filename(s) of the CNF(s) are based on the project name. ExampleThe Compiler Netlist Extractor also creates a single HIF that documents the hierarchical connections between design files.This module contains a built-in EDIF Netlist Reader, Verilog Netlist Reader, VHDL Netlist Reader, and converters that translate ADFs and SMFs for use with MAX+PLUS II. During netlist extraction, this module checks each design file for problems such as duplicate node names, missing inputs and outputs, and outputs that are tied together.返回,Database Builder(数据库构建器 ):,The Compiler module that builds a single, fully flattened project database that integrates all the design files in a project hierarchy. The Database Builder uses the HIF to link the CNFs that describe the project. Based on the HIF data, the Database Builder copies each CNF into the project database. Each CNF is inserted into the database as many times as it is used within the original hierarchical project. The database thus preserves the electrical connectivity of the project.The Compiler uses this database for the remainder of project processing. Each subsequent Compiler module updates the database until it contains the fully optimized project. In the beginning, the database contains only the original netlists; at the end, it contains a fully minimized, fitted project, which the Assembler uses to create one or more files for device programming. As it creates the database, the Database Builder examines the logical completeness and consistency of the project, and checks for boundary connectivity and syntactical errors (e.g., a node without a source or destination). Most errors are detected and can be easily corrected at this stage of project processing.返回,