课程名称: eda 技术 electronic design automation technology
Post on 30-Dec-2015
192 Views
Preview:
DESCRIPTION
TRANSCRIPT
课程名称: EDA 技术Electronic Design Automation Technology
教材: EDA 技术实用教程 潘松 黄继业 编著 科学出版社
参考书:1.VHDL 硬件描述语言与数字逻辑电路设计 侯伯亨 顾新 编著 西安电子科技大学出版社 2. CPLD 技术及其应用 宋万杰 编著 西安电子科技大学出版社
相关网站 www.fpga.com.cn www.edaclub.net www.edachina.com
本课程教学安排:总学时: 20 学时,课堂教学 10 学时,上机 10 学时
教学内容:第一章 概述第二章 EDA 设计流程及其工具第四章 原理图输入设计方法第五章 VHDL 设计初步第六章 VHDL 设计进阶第七章 有限状态机设计第八章 VHDL 结构与要素第九章 VHDL 基本语句
教学目的:了解一类器件、掌握一门设计语言、熟悉一种设计工具
第一讲
主要内容: 1. EDA 简介 2. EDA 设计流程及工具 3. 原理图输入设计方法
一、 EDA 技术
现代电子设计技术的核心是 EDA ( Electronic Design Automation )技术。 EDA 技术就是依赖功能强大的计算机,在 EDA 工具软件平台上,对以硬件描述语言 HDL ( Hardware Description Language )为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。 EDA 技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和 EDA 软件来完成对系统硬件功能的实现。
1. EDA 技术实现目标
利用 EDA 技术进行电子系统设计,最后的目标是完成专用集成电路 ASIC 的设计和实现。
三条实现途径:1) 超大规模可编程逻辑器件 *** 主流器件:
FPGA ( Field Programmable Gate Array)CPLD (Complex Programmable Logic Device)
2) 半定制或全定制 ASIC3) 混合 ASIC
2. 硬件描述语言 VHDL
硬件描述语言是 EDA 技术的重要组成部分,VHDL 语言是电子设计主流硬件的描述语言,是硬件描述语言的业界标准之一。 现在, VHDL 和 Verilog 作为 IEEE 的工业标准硬件描述语言,得到众多 EDA 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。其优点见教材 P5 。
用 VHDL 语言表达和设计电路,一般包括三部分:库说明、实体和结构体。
3. VHDL 综合 综合 --- 把某些东西结合到一起,把设计抽象层次中的一种表示转化成另一种表示的过程。在电子设计领域中,综合可以表示成:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配而成的过程。
事实上,设计过程中的每一步都可称为一个综合环节。设计过程通常从高层次的行为描述开始,以最低层的结果描述结束,每个综合步骤都是上一层次的转换。( 1 )自然语言综合( 2 )行为综合( 3 )逻辑综合( 4 )结构综合或者版图综合
综合器 --- 能够自动将一种设计表示形式向另一种设计表示形式转换的计算机程序,或协助进行手工转换的程序。
高层次的表示 低层次的表示 行为域 结构域 算法级 门级
编译器和综合器功能比较
VHDL 综合器运行流程
4. 基于 VHDL 的自顶向下设计方法 传统的硬件电路设计方法:自底向上 元器件、芯片→功能模块→整个系统缺点:低效、低可靠性、费时费力、成本高昂。
自顶向下的设计方法是 EDA 技术的首选设计方法,是 ASIC 或 FPGA开发的主要设计手段。自顶向下设计方法就是在整个设计流程中各设计环节逐步求精的过程。一个项目的设计过程包括从自然语言说明到 VHDL 的系统行为描述、系统分解、 RTL 模型的建立、门级模型产生,到最终的可以物理布线实现的底层电路,就是从高抽象级别到低抽象级别的整个设计周期。
自顶向下的设计流程
5. EDA 与传统电子设计方法的比较
传统的电子系统或 IC 设计中,手工设计 占了较大比例。缺点如下:
( 1 )复杂电路的设计、调试十分困难;( 2 )如果某一过程存在错误,查找和修改十分不便;( 3 )设计过程中产生大量文挡,不易管理;( 4 )对于集成电路设计而言,设计实现过程与具体 生产工艺直接相关,因此可移植性差;( 5 )只有在设计出样机或生产出芯片后才能进行实测。
采用 EDA 技术的优点:( 1 )采用硬件描述语言作为设计输入;( 2 )库( Library )的引入;(支持自动设计)( 3 )设计文挡的管理;( 4 )强大的系统建模、电路仿真功能;( 5 )具有自主知识产权;( 6 )开发技术的标准化、规范化以及 IP 核的可利用性;( 7 )适用于高效率大规模系统设计的自顶向下设计方案;( 8 )全方位地利用计算机自动设计、仿真和测试技术;( 9 )对设计者的硬件知识和硬件经验要求低;( 10 )与以 CPU 为主的电路系统相比,高速性能好;( 11 )纯硬件系统的高可靠性。
6. EDA 的发展趋势• IC 设计的发展方向:单片系统或称系统集成芯片, 即在一个芯片上完成系统级的集成。• 更趋于电路行为级的硬件描述语言,如 SystemC 、Superlog 及系统级混合仿真工具,可以在同一个开发平台上完成高级语言,如 C/C++等,与标准 HDL 语言 ( Verilog HDL 、 VHDL ) 或其他更低层次描述模块的混合仿真。• FPGA 与 ASIC正在互相融合,取长补短。• 目前,许多 PLD 公司开始为 ASIC提供 FPGA 内核。• 现在,传统 ASIC 和 FPGA 之间的界限正变得模糊。系统级芯片不仅集成 RAM 和微处理器,也集成 FPGA 。
二、 EDA 设计流程及其工具 FPGA/CPLD 设计流程
应用于 FPGA/CPLD 的 EDA开发流程
1 、设计输入(原理图 /HDL 文本编辑)
( 1 )图形输入 三种常用方法:原理图输入
状态图输入 波形图输入
原理图输入:在 EDA 软件的图形编辑界面上绘制 能完成特定功能的电路原理图。 ( 2 ) HDL 文本输入 与传统的计算机软件语言编辑输入基本一致。即将使用了某种 HDL 的电路设计文本,如 VHDL或 Verilog 的源程序,进行编辑输入。
2 、综合
将软件设计的 HDL 描述与硬件结构挂钩。
将设计者在 EDA 平台上编辑输入的 HDL 文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。
3 、适配
适配器的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如 JEDEC , Jam格式的文件。
适配完成后可以利用适配所产生的仿真文件作精确的时序仿真,同时产生可用于编程的文件。
4 、时序仿真与功能仿真
在编程下载前,必须利用 EDA 工具对适配生成的结果进行模拟测试,就是所谓的仿真。即让计算机根据一定的算法和一定的仿真库对 EDA 设计进行模拟,以验证设计,排除错误。
5 、编程下载
把适配后生成的下载或配置文件,通过编程器或编程电缆向 FPGA或CPLD进行下载,以便进行硬件调试和验证( Hardware Debugging )。
CPLD :以乘积项结构方式构成逻辑行为的器件。
FPGA :以查表法结构方式构成逻辑行为的器件。
目前, FPGA 具有更广泛的含义。
6 、硬件测试
最后将含有载入了设计的 FPGA 或 CPLD 的硬件系统进行统一测试, 以便最终验证设计项目在目标系统上的实际工作情况,以排除错误,改进设计。
常用 EDA 工具
EDA 工具大致可以分为五个模块:•设计输入编辑器•仿真器•HDL 综合器•适配器(或布局布线器)•下载器
集成的 EDA开发环境: MAX+plusⅡ, Quartus Ⅱ 。
1. MAX+plusⅡ概述
MAX+plusⅡ是 Altera 公司提供的 FPGA/CPLD开发集成环境, Altera 公司是世界最大的可编程逻辑器件供应商之一。 MAX+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的 EDA 软件。
在 MAX+plusⅡ编译设计主控界面上,它显示了 MAX+plusⅡ自动设计的各主要处理环节和设计流程,包括设计输入编辑、编译网表提取、数据库建立、逻辑综合、路基分割、适配、延时网表提取、编程文件汇编(装配)以及编程下载 9个步骤。
编译设计主控界面
MAX+plusⅡ设计流程
图形或 HDL 编辑器
编译网表提取
数据库建立
逻辑综合
逻辑分割 适配 延时网
表提取编程文件汇编
编程器
设计输入 综合或编辑 适配器件
仿真
下载
标准的 EDA开发流程
启动界面
原理图编辑器
文本编辑器
波形编辑器
三、原理图输入设计方法
利用 EDA 工具进行原理图输入设计的优点是,设计者不必具备许多诸如编程技术、硬件语言等知识就能迅速入门,完成较大规模的电路系统设计。
MAX+plusⅡ提供了功能强大、直观便捷和操作灵活的原理图输入设计功能,同时还配备了适用于各种需要的元件库,其中包含基本逻辑元件库、宏功能元件,以及功能强大,性能良好的类似于 IP核的兆功能块 LPM 库。
4.1 1位全加器设计向导4.1.1 基本设计步骤1. 为本项工程设计建立文件夹 如: E:\MY_PRJCT2. 输入设计项目和存盘 ( 1 )打开原理图编辑窗 “File”→ “ New”→ “File Type” → “Graphic Editor File” → “ OK”
( 2 )右击鼠标,选择“ Enter Symbol” ,
( 3 )调入所需各元件,并连接好, 输入各引脚名: a 、 b 、 co 、 so( 4 )将图文件取名为: h_adder.gdf,存入 E:\MY_PRJCT 目录 “File”→ “ Save As”→ …… → “ OK”
3. 将设计项目设置成工程文件( PROJECT )
第一种方法
第二种方法
第三种方法
利用快捷键
4.选择目标器件并编译
启动编译器
快捷键
5. 时序仿真
( 1 )建立波形文件
( 2 )输入信号节点
快捷方式输入信号节点:单击右键
单击
选择信号
取消该选项
( 3 )设置波形参量
( 4 )设定仿真时间
( 5 )加上输入信号:为输入信号设定必要的测试电平或数据
( 6 )波形文件存盘: File→Save as→OK
( 7 )运行仿真器仿真快捷键
单击
( 8 )观察分析波形
( 9 )延时时序分析
( 10 )包装元件入库 (可供其他设计调用)
6.引脚锁定
若仿真测试无误,将设计编程下载到EDA 实验箱上的目标器件作进一步的硬件测试,以便最终了解设计项目的正确性。 根据 EDA 实验箱上主芯片引脚与外部硬件连接关系锁定输入输出引脚。
符号 数据开关名称 主芯片引脚号
输入
a S1 75
b S2 74
输出
so L2 87
co L4 86
引脚分配示例:
( 1 )引脚定位
输入端口名
输入引脚编号
( 2 )引脚锁定
( 3 )注意:引脚锁定后,必须重新编译,以便将引脚信息编入下载文件中。
7. 编程下载
首先用下载线把计算机的打印机口与实验箱连接好,打开电源:
( 1 )下载方式设定
硬件设置选项
编程配置下载键
( 2 )下载
8. 设计顶层文件
利用已设计好并包装入库的底层元件半加器 h_adder ,完成顶层项目全加器的设计。
在新的原理图编辑窗口调入半加器元件 h_adder ,以及其他所需元件。参考上述半加器的设计流程,完成全加器的设计、仿真、编程下载及硬件测试。
1位全加器原理图
1位全加器时序仿真波形
全加器引脚锁定
符号 数据开关名称 主芯片引脚号输 入
ain S3 73
bin S4 71
cin S5 70
输出
sum L8 83
cout L6 85
设计流程归纳
编译完成后,双击该钮,打开适配报告,了解适配情况、资源使用情况和引脚锁定情况等。
4.2 2位十进制数字频率计设计
双十进制计数器 74390
2位十进制计数器原理图
2位十进制计数器仿真波形 1
2位十进制计数器仿真波形 2
7 段共阳极显示译码器
两位十进制频率计顶层设计原理图文件: ft.gdf
两位十进制频率计顶层设计仿真波形
注意: CNT-EN 是测频控制信号,若其频率选定为 0.5Hz ,则其允许计数的脉宽为 1秒,数码管显示即为 F-IN 的频率值。
测频时序控制电路原理图文件: tf_ctro.gdf
测频时序控制电路仿真波形3个控制信号能使频率计顺利完成测频三步曲:计数、锁存、清零
sENCNTsCLK 1628_,2 则若
自动测量频率计顶层电路原理图文件: ft_top.gdf
待测信号: F_IN周期 410ns控制信号: CLK周期 2us计数脉宽: 8×2us=16us测频显示: 16/0.410=39
自动测量频率计仿真波形
设计项目的其他信息和资源配置
频率计 ft-top项目的设计层次
( 1 )了解设计项目的结构层次
双击打开适配报告
逻辑宏单元的使用数量
( 2 )了解器件资源分配情况
内嵌的 RAM单元 EA
B
已被占用的逻辑宏单元
逻辑阵列块LAB
逻辑宏单元LCs ( LE
s )
( 3 )了解设计项目速度 /延时特性
时钟信号名
最高时钟频率
信号延时信息
( 4 )资源编辑
设计者可以利用芯片资源编辑器
对目标器件的资源进行手工配置。
( 5 )引脚锁定(适用于引脚少的器件)
用鼠标将信号引脚名拖到下面芯片的相应引脚上即可
CLK被琐定在 205引脚
4.3 参数可设置 LPM兆功能块
LPM 库中的兆功能块可以以图形或硬件描述语言模块形式方便地调用。设计者只需选择所需模块并为其设定适当的参数即可。
4.3.1 基于 LPM-COUNTER 的数控分频器设计
数控分频器电路原理图( fpq.gdf )
数控分频器工作波形
4.3.2 基于 LPM-ROM 的 4位乘法器设计
用 LPM-ROM 设计的 4位乘法器原理图( cfq.gdf )
用 LPM-ROM 设计的 4位乘法器工作波形
LPM-ROM 中作为乘法表的数据文件“ rom_data.mif”
( 1 )自然语言综合:从自然语言转换到 VHDL 语言算法表示。
( 2 )行为综合:从算法表示转换到寄存器传输级( Register Transport Level, RTL ),即从行为域到结构域的综合。
( 3 )逻辑综合: RTL级表示转换到逻辑门(包括触发器)的表示。
( 4 )版图综合或者结构综合:从逻辑门表示转换到版图表示( ASIC 设计),或者转换到 FPGA 的配置网表文件。有了版图信息就可以把芯片生产出来;有了对应的配置文件,就可以使对应的 FPGA变成具有专门功能的电路器件。
第 3 章 FPGA/CPLD 结构与应用
( 3.1~3.6 自学,一般了解) 3.7 CPLD 和 FPGA 的编程与配置
CPLD 一般采用电可擦除存储单元 EEPROM 或Flash 技术进行编程( Program ),掉电后可保持。
大部分 FPGA采用 SRAM查找表的编程单元,编程信息保持在 SRAM 中,掉电后编程信息立即丢失,下次上电后需要重新载入编程信息,一般称为配置( Configure )。
3.7 CPLD 和 FPGA 的编程与配置(续)
CPLD 编程和 FPGA 配置可以使用专用的编程设备,也可以使用下载电缆。如 Altera 的 ByteBlaster ( MV )并行下载电缆,连接 PC 机的并行打印口和需要编程或配置的器件,并与 MAX+plusⅡ配合可以对 Altera 公司的多种 CPLD 、 FPGA 进行编程或配置。
• CPLD 的 ISP( 在系统可编程)方式编程• 使用 PC并行口配置 FPGA (在线可重配置)• 用专用配置器件配置 FPGA (上电自动配置)• 使用单片机配置 FPGA (可保密,可升级)
top related