EDA 技术 任课教师: 沈晓峰 联系地点:科技实验大楼12-09室 电 话:83202127 任课教师: 沈晓峰 联系地点:科技实验大楼12-09室 电 话:83202127 E - mail: xfshen@ee.uestc.edu.cn 教师社区
本课程安排: 课堂教学内容: 教学目的: 学时:48学时(课堂教学28学时,上机实验20学时) 第一章、EDA技术与PLD概述 第二章、Altera及Xilinx可编程逻辑器件 第三章、MAX+PLUS Ⅱ开发系统入门 第四章、硬件描述语言VHDL 第五章、实验系统箱介绍 第六章、VHDL设计应用实例 教学目的: 了解一类器件,掌握一门设计语言,熟悉一种设计工具。
了解一类可编程逻辑器件,掌握一门硬件描述 实验教学内容及要求: 分5次共20学时。 实验一:一位全加器的设计; 实验二:0-999计数器及七段译码显示电路设计; 实验三:扫描显示电路设计; 实验四:数字频率计的设计及实现。(2次) 掌握 EDA开发系统 MAX+PLUS II,从简单的电路设计入手,到最后能够设计比较复杂的电子系统。培养利用EDA技术设计电路系统的实际动手能力。 实验教学目的: 了解一类可编程逻辑器件,掌握一门硬件描述 语言,熟悉使用一种EDA设计工具,设计自己的芯片。
教材及参考资料 教材: 《EDA技术及应用》谭会生、张昌凡 编著 参考资料: 《CPLD技术及其应用》宋万杰 等编著 西安电子科技大学出版社 西安电子科大出版社出版 《VHDL硬件描述语言与数字逻辑电路设计》 侯伯亨 顾新 等编著 《CPLD/FPGA的开发和应用》徐光辉 等编著 电子工业出版社出版
EDA技术的相关网址: www.fpga.com.cn www.edaclub.net www.edachina.com
第一章 EDA技术概述 §1.1 EDA技术及其发展 一、什么是EDA? Electronic Design Automation 即电子设计自动化。 二、EDA技术发展的三个阶段: 1、早期电子CAD阶段 20世纪70年代,属EDA技术发展初期。利用计算机、二维图形编辑与分析的CAD工具,完成布图布线等高度重复性的繁杂工作。 典型设计软件如Tango布线软件。
2、计算机辅助工程设计CAE阶段 20世纪80年代初,出现了低密度的可编程逻辑器件(PAL_Programmable Array Logic 和GAL_Generic Array Logic),相应的EDA开发工具主要解决电路设计没有完成之前的功能检测等问题。 80年代后期,EDA工具已经可以进行初级的设计描述、综合、优化和设计结果验证。
3、电子设计自动化(EDA)阶段 20世纪90年代,可编程逻辑器件迅速发展,出现功能强大的全线EDA工具。具有较强抽象描述能力的硬件描述语言(VHDL、Verilog HDL)及高性能综合工具的使用,使过去单功能电子产品开发转向系统级电子产品开发(即SOC_ System On a Chip:单片系统、或片上系统集成)。 开始实现“概念驱动工程”(Concept Driver Engineering, CDE )的梦想。
三、EDA的广义定义范围包括: 1、半导体工艺设计自动化; 2、可编程器件设计自动化; 3、电子系统设计自动化; 4、印刷电路板设计自动化; 5、仿真与测试、故障诊断自动化; 6、形式验证自动化。 以上各部分统称为EDA工程
四、EDA技术的狭义定义: 以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程器件的开发软件及实验开发系统为设计工具,自动完成用软件方式描述的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门多学科融合的新技术。
§1.2 传统设计方法和 EDA方法的区别: 一、传统设计方法:自下而上(Bottom - up)的 设计方法,是以固定功能元件为基础,基于电 路板的设计方法。 系统调试、测试与性能分析 完整系统构成 电路板设计 固定功能元件 系统功能需求 输入 输出
1. 设计依赖于设计师的经验。 传统设计方法的缺点: 2. 设计依赖于现有的通用元器件。 3. 设计后期的仿真不易实现和调试复杂。 4. 自下而上设计思想的局限。 5. 设计实现周期长,灵活性差,耗时 耗力,效率低下。
二、 EDA方法:自上而下(Top - Down)的设计方法。其方案验证与设计、系统逻辑综合、布局布线、性能仿真、器件编程等均由 EDA工具一体化完成。 设计思想不同: 自上而下(Top - Down)的设计方法。 自上而下是指将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系统和模快,层层分解,直至整个系统中各个子系统关系合理,并便于逻辑电路级的设计和实现为止。 自上而下设计中可逐层描述,逐层仿真,保证满足系统指标。
ASIC:Application Specific Integrated Circuits, 系统规格设计 功能级描述 功能级仿真 逻辑综合、优化、布局布线 定时仿真、定时检查 输出门级网表 ASIC芯片投片、PLD器件编程、测试 ASIC:Application Specific Integrated Circuits, PLD: Programmable Logic Devices
EDA技术极大地降低硬件电路设计难度,提高设计效率,是电子系统设计方法的质的飞跃。 传统方法 1.从下至上 2.通用的逻辑元、器件 3.系统硬件设计的后期 进行仿真和调试 4.主要设计文件是电原 理图 EDA方法 1.自上至下 2.可编程逻辑器件 3.系统设计的早期进行仿 真和修改 4.多种设计文件,发展趋 势以 HDL描述文件为主 5.降低硬件电路设计难度 EDA技术极大地降低硬件电路设计难度,提高设计效率,是电子系统设计方法的质的飞跃。
§1.3 EDA技术的主要内容 实现载体:大规模可编程逻辑器件 (PLD:Programmable Logic Device) 描述方式:硬件描述语言 (HDL:Hard descripation Lauguage) VHDL、Verlog HDL等 设计工具:开发软件、开发系统 硬件验证:实验开发系统 2. EDA技术与 PLD器件密不可分 EDA技术是以PLD( Programmable Logic Devices—可编程逻辑器件) 的不断发展及其开发工具的不断完善为基础的。 EDA技术包括两个方面: 可编程逻辑器件PLD; 开发软件、开发系统 PLD从最初的PAL、GAL发展为现今的FPGA、CPLD,相应开发软件 逐步发展成为高度自动化的EDA开发系统。 可编程逻辑器件及开发工具(EDA)的出现,彻底改变了传统的电子 系统设计方法。在设计思想、设计手段、设计过程、设计结果(成就)等方 面都与传统设计方法迥然不同。是电子系统设计方法的革命。
FPGA:Field Programmable Gates Array 一、 大规模可编程逻辑器件 FPGA:Field Programmable Gates Array CPLD:Complex Programmable Logic Device 主流公司:Xilinx、Altera、Lattice FPGA/CPLD 显著优点: 开发周期短、投资风险小、产品上市速 度快、市场适应能力强、硬件修改升级方便。 2. EDA技术与 PLD器件密不可分 EDA技术是以PLD( Programmable Logic Devices—可编程逻辑器件) 的不断发展及其开发工具的不断完善为基础的。 EDA技术包括两个方面: 可编程逻辑器件PLD; 开发软件、开发系统 PLD从最初的PAL、GAL发展为现今的FPGA、CPLD,相应开发软件 逐步发展成为高度自动化的EDA开发系统。 可编程逻辑器件及开发工具(EDA)的出现,彻底改变了传统的电子 系统设计方法。在设计思想、设计手段、设计过程、设计结果(成就)等方 面都与传统设计方法迥然不同。是电子系统设计方法的革命。
ASIC:Application Specific Integrated Circuits 三类器件的主要性能指标比较 ASIC:Application Specific Integrated Circuits 2. EDA技术与 PLD器件密不可分 EDA技术是以PLD( Programmable Logic Devices—可编程逻辑器件) 的不断发展及其开发工具的不断完善为基础的。 EDA技术包括两个方面: 可编程逻辑器件PLD; 开发软件、开发系统 PLD从最初的PAL、GAL发展为现今的FPGA、CPLD,相应开发软件 逐步发展成为高度自动化的EDA开发系统。 可编程逻辑器件及开发工具(EDA)的出现,彻底改变了传统的电子 系统设计方法。在设计思想、设计手段、设计过程、设计结果(成就)等方 面都与传统设计方法迥然不同。是电子系统设计方法的革命。
(HDL__Hardware Description Language) 二、 硬件描述语言 (HDL__Hardware Description Language) VHDL:IEEE标准,系统级抽象描述能力较强。 Verilog: IEEE标准,门级开关电路描述能力 较强。 ABEL: 系统级抽象描述能力差,适合于门级 电路描述。 2. EDA技术与 PLD器件密不可分 EDA技术是以PLD( Programmable Logic Devices—可编程逻辑器件) 的不断发展及其开发工具的不断完善为基础的。 EDA技术包括两个方面: 可编程逻辑器件PLD; 开发软件、开发系统 PLD从最初的PAL、GAL发展为现今的FPGA、CPLD,相应开发软件 逐步发展成为高度自动化的EDA开发系统。 可编程逻辑器件及开发工具(EDA)的出现,彻底改变了传统的电子 系统设计方法。在设计思想、设计手段、设计过程、设计结果(成就)等方 面都与传统设计方法迥然不同。是电子系统设计方法的革命。
三、软件开发工具 EDA开发工具分为: 集成化的开发系统: 特定功能的开发软件:综合软件 仿真软件 2. EDA技术与 PLD器件密不可分 EDA技术是以PLD( Programmable Logic Devices—可编程逻辑器件) 的不断发展及其开发工具的不断完善为基础的。 EDA技术包括两个方面: 可编程逻辑器件PLD; 开发软件、开发系统 PLD从最初的PAL、GAL发展为现今的FPGA、CPLD,相应开发软件 逐步发展成为高度自动化的EDA开发系统。 可编程逻辑器件及开发工具(EDA)的出现,彻底改变了传统的电子 系统设计方法。在设计思想、设计手段、设计过程、设计结果(成就)等方 面都与传统设计方法迥然不同。是电子系统设计方法的革命。
Altera 公司:QuartusⅡ、MaxplusⅡ系列 Xilinx 公司:ISE、Foundation、 Aillance系列 集成化的开发系统 Altera 公司:QuartusⅡ、MaxplusⅡ系列 Xilinx 公司:ISE、Foundation、 Aillance系列 Lattice公司:ispDesignEXPERT 系列 2. EDA技术与 PLD器件密不可分 EDA技术是以PLD( Programmable Logic Devices—可编程逻辑器件) 的不断发展及其开发工具的不断完善为基础的。 EDA技术包括两个方面: 可编程逻辑器件PLD; 开发软件、开发系统 PLD从最初的PAL、GAL发展为现今的FPGA、CPLD,相应开发软件 逐步发展成为高度自动化的EDA开发系统。 可编程逻辑器件及开发工具(EDA)的出现,彻底改变了传统的电子 系统设计方法。在设计思想、设计手段、设计过程、设计结果(成就)等方 面都与传统设计方法迥然不同。是电子系统设计方法的革命。
Synplicity公司的Synplify/Synplify Pro 特定功能的开发软件 综合类: Synplicity公司的Synplify/Synplify Pro Synopsys公司的FPGAexpress、FPGA compilerⅡ Mentor公司的 LeonardoSpectrum 仿真类: Model Tech公司的Modelsim Aldec 公司的 Active HDL Cadence公司的NC-Verilog、NC-VHDL、NC-SIM 2. EDA技术与 PLD器件密不可分 EDA技术是以PLD( Programmable Logic Devices—可编程逻辑器件) 的不断发展及其开发工具的不断完善为基础的。 EDA技术包括两个方面: 可编程逻辑器件PLD; 开发软件、开发系统 PLD从最初的PAL、GAL发展为现今的FPGA、CPLD,相应开发软件 逐步发展成为高度自动化的EDA开发系统。 可编程逻辑器件及开发工具(EDA)的出现,彻底改变了传统的电子 系统设计方法。在设计思想、设计手段、设计过程、设计结果(成就)等方 面都与传统设计方法迥然不同。是电子系统设计方法的革命。
四、实验开发系统 3. EDA技术的发展 两个方向的发展 (1)广度上,EDA技术日益普及,成为每一个电子工程师必备的主要 设计工具。前题是EDA软件的PC平台化。 (2)深度上,EDA技术发展的下一步是ESDA(Electronic System Design Automation 电子系统设计自动化)和CE(Concurrent Engineering 并 行设计工程)。 ESDA强调建立从系统到电路的统一描述语言,在设计综合中考虑各种 约束条件,统一进行设计描述和优化,提高设计的一次成功率。 ESDA技术中,系统设计的核心仍是可编程逻辑器件的设计。
§1.4 EDA软件系统的构成 一、设计输入子模块 用图形编辑器、文本编辑器作设计描述, 完成语义正确性、语法规则的检查。 二、设计数据库子模块 系统的库单元、用户的设计描述、中间 设计结果。 三、分析验证子模块 各个层次的模拟验证、设计规则的检查、 故障诊断。 3. EDA技术的发展 两个方向的发展 (1)广度上,EDA技术日益普及,成为每一个电子工程师必备的主要 设计工具。前题是EDA软件的PC平台化。 (2)深度上,EDA技术发展的下一步是ESDA(Electronic System Design Automation 电子系统设计自动化)和CE(Concurrent Engineering 并 行设计工程)。 ESDA强调建立从系统到电路的统一描述语言,在设计综合中考虑各种 约束条件,统一进行设计描述和优化,提高设计的一次成功率。 ESDA技术中,系统设计的核心仍是可编程逻辑器件的设计。
四、综合仿真子模块 实现从高层抽象描述向低层次描述的自 动转换,及各个层次的仿真验证。 五、布局布线子模块 完成由逻辑设计到物理实现的映射。 3. EDA技术的发展 两个方向的发展 (1)广度上,EDA技术日益普及,成为每一个电子工程师必备的主要 设计工具。前题是EDA软件的PC平台化。 (2)深度上,EDA技术发展的下一步是ESDA(Electronic System Design Automation 电子系统设计自动化)和CE(Concurrent Engineering 并 行设计工程)。 ESDA强调建立从系统到电路的统一描述语言,在设计综合中考虑各种 约束条件,统一进行设计描述和优化,提高设计的一次成功率。 ESDA技术中,系统设计的核心仍是可编程逻辑器件的设计。
§1.5 EDA技术及EDA工具的发展趋势 一、 EDA技术的发展趋势 1、广度上:大型机→工作站→微机 2、深度上: ESDA:(Electronic System Design Automation ) CE: (Concurrent Engineering 并行设 计工程) 单芯片集成:(SOC/SOPC:System On a Programmable Chip) 3. EDA技术的发展 两个方向的发展 (1)广度上,EDA技术日益普及,成为每一个电子工程师必备的主要 设计工具。前题是EDA软件的PC平台化。 (2)深度上,EDA技术发展的下一步是ESDA(Electronic System Design Automation 电子系统设计自动化)和CE(Concurrent Engineering 并 行设计工程)。 ESDA强调建立从系统到电路的统一描述语言,在设计综合中考虑各种 约束条件,统一进行设计描述和优化,提高设计的一次成功率。 ESDA技术中,系统设计的核心仍是可编程逻辑器件的设计。
ESDA软件集成系统的构成和设计、仿真过程 技术要求 总体要求、算法建立 专用控制系统 PLD的设计 系统目标定义 算法建立与仿真验证 行为功能 设计验证 任务分解、定义设计规范 系统级仿真 硬件系统设计 VHDL、AHDL设计 算法软件 控制软件 设计系统 数字电路设计 模拟电路设计 综合与优化 优化设计 硬件仿真库 电路级仿真 器件模拟库 ASIC 模拟库 ASIC方式综合优化 电路结构与模块划分 PLD、FPGA器件库 PCB、MCM实现方式 数模混合电路优化 PLD、FPGA方式综合优化 电路级验证、布局布线器 专用开发系 统微控制器 设计参数提取和仿真验证 系统调试、系统测试 测试仪器仪表 ESDA软件集成系统的构成和设计、仿真过程
并行工程(CE): CE是将电子产品及相关制造直至销售、维护全过程统一进行设计的一种方法,其核心是产品设计对象的全面可预见性。 CE要求从管理层次上把工艺、工具、任务、智力和时间的安排协调一致,使用统一的集成化设计环境,由若干个相关的设计小组共享数据库,同步地进行设计。 并行工程(CE)和自上而下(Top-Down)设计方法被誉为构成现代电子产品开发方式的两大特征。体现了设计策略的变革。
电子系统的发展趋势: SOC/ SOPC 存储器、 μP、 PLD等 多合一
发展趋势是以硬件描述语言(HDL)为主。 2、混合信号处理能力 数/模混合信号的处理 数字信号的描述:VHDL、Verilog HDL 二、EDA工具的发展趋势 1、输入工具 发展趋势是以硬件描述语言(HDL)为主。 2、混合信号处理能力 数/模混合信号的处理 数字信号的描述:VHDL、Verilog HDL 模拟信号的描述:AHDL 微波信号的描述:MHDL 电子系统的发展趋势: 随着 PLD器件集成度的提高(一亿以上个晶体管,数百万门)和开发系 统的完善,可实现整个电子系统 → 单芯片设计(SOPC:System On a Programmable Chip,可编程单片系统、可编程片上系统)。相应的EDA技术 提升为 ESDA。在此领域,将更加强调用 HDL对复杂系统完成系统级的抽象 描述。目前研究有一定进展,尚不能实用化。 Concurrent Engineering(CE): CE是将电子产品及相关制造直至销售、维护全过程统一进行设计的一 种方法,其核心是产品设计对象的全面可预见性。 CE要求从管理层次上把工艺、工具、任务、智力和时间的安排协调一 致,使用统一的集成化设计环境,由若干个相关的设计小组共享数据库,同步 地进行设计。 并行工程(CE)和自上而下(Top-Down)设计方法被誉为构成现代 电子产品开发方式的两大特征。体现了设计策略的变革。
功能仿真:又称前仿真、系统级仿真或行为仿 真,用于验证系统的功能。 时序仿真:又称后仿真、电路级仿真,用于验 证系统的时序特性、系统性能。 3、仿真工具 仿真分为: 功能仿真:又称前仿真、系统级仿真或行为仿 真,用于验证系统的功能。 时序仿真:又称后仿真、电路级仿真,用于验 证系统的时序特性、系统性能。 仿真是系统验证的主要手段,是整个电子设 计过程中花费时间最多的环节。 4、综合工具 综合:由高层次描述自动转换为低层次描述的过 程。是EDA技术的核心。 电子系统的发展趋势: 随着 PLD器件集成度的提高(一亿以上个晶体管,数百万门)和开发系 统的完善,可实现整个电子系统 → 单芯片设计(SOPC:System On a Programmable Chip,可编程单片系统、可编程片上系统)。相应的EDA技术 提升为 ESDA。在此领域,将更加强调用 HDL对复杂系统完成系统级的抽象 描述。目前研究有一定进展,尚不能实用化。 Concurrent Engineering(CE): CE是将电子产品及相关制造直至销售、维护全过程统一进行设计的一 种方法,其核心是产品设计对象的全面可预见性。 CE要求从管理层次上把工艺、工具、任务、智力和时间的安排协调一 致,使用统一的集成化设计环境,由若干个相关的设计小组共享数据库,同步 地进行设计。 并行工程(CE)和自上而下(Top-Down)设计方法被誉为构成现代 电子产品开发方式的两大特征。体现了设计策略的变革。
综合分为:行为综合、逻辑综合、前端综合、 版图综合、测试综合 EDA设计的描述层次: 行为级描述 寄存器传输级描述(RTL) 门级描述 版图级描述 设计前端 设计后端 电子系统的发展趋势: 随着 PLD器件集成度的提高(一亿以上个晶体管,数百万门)和开发系 统的完善,可实现整个电子系统 → 单芯片设计(SOPC:System On a Programmable Chip,可编程单片系统、可编程片上系统)。相应的EDA技术 提升为 ESDA。在此领域,将更加强调用 HDL对复杂系统完成系统级的抽象 描述。目前研究有一定进展,尚不能实用化。 Concurrent Engineering(CE): CE是将电子产品及相关制造直至销售、维护全过程统一进行设计的一 种方法,其核心是产品设计对象的全面可预见性。 CE要求从管理层次上把工艺、工具、任务、智力和时间的安排协调一 致,使用统一的集成化设计环境,由若干个相关的设计小组共享数据库,同步 地进行设计。 并行工程(CE)和自上而下(Top-Down)设计方法被誉为构成现代 电子产品开发方式的两大特征。体现了设计策略的变革。 综合分为:行为综合、逻辑综合、前端综合、 版图综合、测试综合
§1.6 EDA的工程设计流程 文本编辑器、图形编辑器 网表文件 (EDIF、XNL、 VHDL…) VHDL综合器 (逻辑综合、优化) (行为仿真、 功能仿真、 时序仿真) 门级仿真器 (功能仿真、 时序仿真) FPGA/CPLD布线/适配器 (自动优化、布局、布线、适配) 电子系统的发展趋势: 随着 PLD器件集成度的提高(一亿以上个晶体管,数百万门)和开发系 统的完善,可实现整个电子系统 → 单芯片设计(SOPC:System On a Programmable Chip,可编程单片系统、可编程片上系统)。相应的EDA技术 提升为 ESDA。在此领域,将更加强调用 HDL对复杂系统完成系统级的抽象 描述。目前研究有一定进展,尚不能实用化。 Concurrent Engineering(CE): CE是将电子产品及相关制造直至销售、维护全过程统一进行设计的一 种方法,其核心是产品设计对象的全面可预见性。 CE要求从管理层次上把工艺、工具、任务、智力和时间的安排协调一 致,使用统一的集成化设计环境,由若干个相关的设计小组共享数据库,同步 地进行设计。 并行工程(CE)和自上而下(Top-Down)设计方法被誉为构成现代 电子产品开发方式的两大特征。体现了设计策略的变革。 测试电路 (硬件测试) 编程器/下载电缆 (编程、下载) 各种编程文件
EDA技术的优点: 1、采用自顶向下(Top - Down)的设计方法; 2、采用系统早期仿真; 3、多种设计描述方式; 5、PLD在系统(在线)编程(ISP)能力; 6、可实现单片系统集成(SOC_System On a Chip), 减少产品体积、重量,降低综合成本; 7、提高产品的可靠性; 8、提高产品的保密程度和竞争能力; 9、降低电子产品的功耗; 10、提高电子产品的工作速度。
第一章思考题: 1、EDA技术的基础是什么? 2、构成现代数字系统的基本模块是什么? 3、EDA技术的含义和内容是什么? 方法的区别。 5、EDA技术有哪些突出的优点? 6、你认为EDA技术的核心是什么?请详细说明理由。 7、一个电子系统可由单片机技术实现,也可由EDA 技术实现,请比较两种方案各自的特点。