资源预览内容
第1页 / 共158页
第2页 / 共158页
第3页 / 共158页
第4页 / 共158页
第5页 / 共158页
第6页 / 共158页
第7页 / 共158页
第8页 / 共158页
第9页 / 共158页
第10页 / 共158页
亲,该文档总共158页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
VHDL与数字集成电路设计,电子科技大学 李俊宏,引言,研究生课程的特点: 围绕一个科学或工程问题,寻求解决问题的思路; 从已有基础中发现问题,解决问题,训练批判性思维能力。,本课程的特点: 考虑电子设计自动化(EDA)中的思路和问题。 已有基础(本科课程): 电子设计自动化技术; 数字集成路设计。,引言,本课程的特点: 考虑电子设计自动化(EDA)中的思路和问题。,引言,电子设计自动化 Electronic Design Automatic 采用计算机工具实现数字集成电路的自动化设计; 利用计算机语言表达电路设计思想; 利用计算机实现电路的综合与仿真;,引言,为什么采用电子设计自动化? 电路系统的集成化:成本、功耗、可靠性 集成电路的单片化:不再由分立器件进行组装,需要在芯片上进行版图设计实现; 超大规模系统的集成:单芯片上需要集成海量基本单元。,VHDL与数字集成电路设计(引言),HDL,FPGA,ASIC,数字集成电路,什么是HDL? Hardware : 硬件定制电路 Description :对于电路设计的描述 Language :在计算机上使用的工具,引言,在计算机平台上,利用语言程序, 宏观描述数字电路的行为。,什么是FPGA? Field: 现场 Programmable:可编程 Gate:CMOS逻辑门 Array:阵列,引言,一种特殊的芯片,可允许用户对其进行编程, 实现不同的功能。,什么是ASIC? Application: 应用 Specific:特定 Integrated:集成 Circuit:电路,引言,ASIC即专用集成电路,包括模拟ASIC和数字ASIC, 真正定义上的数字集成电路是指数字ASIC。,引言,HDL,FPGA,ASIC之间有什么联系? FPGA,ASIC有什么区别? 如何从HDL走到ASIC,数字集成电路的设计流程是什么?,引言,模拟电路的各方面行为特性较为复杂,只能用完整的电路图来表述而难以用简单的语言来描述。 数字信号完全是由1和0组成,所以无需复杂的电路,用语言即可描述其行为。 HDL即硬件描述语言,用代码即可描述电路行为,避免使用复杂的电路。,引言,有了HDL描述的电路,将其烧录到FPGA中,即可实现其具体电路功能,如实现一个CPU,单片机,DSP等等。,FPGA为可编程逻辑器件,所以可以根据HDL语言的描述,实现各种数字电路,例如FPGA可以直接作为单片机,DSP,CPU来使用。,引言,能否直接用FPGA替代常见的数字集成电路,例如直接替换CPU,DSP?,成本过高!解决方案:ASIC,通信芯片可直接使用FPGA 通信业利润较高 通信协议更新较快,引言,利用计算机EDA软件,可将HDL代码转换为CMOS逻辑门电路,该过程叫做综合。 有了CMOS电路,即可进行版图设计,送代工厂流片,封装测试,形成数字集成电路产品。 由于该数字集成电路是由指定的HDL代码生成的固定电路,所以只能实现一种功能,不能像FPGA那样可根据编程来实现不同的功能,所以被称为数字专用集成电路,即数字ASIC! 由于数字ASIC只保留实现特定功能所必须的电路,所以面积将大幅降低,成本大幅缩减。,引言,EDA设计总流程,HDL描述,FPGA烧录,可应用于通信业的FPGA ASIC原型验证,综合为CMOS电路,版图设计,代工厂加工,测试封装,成品ASIC,引言,电路综合: 将程序语言描述自动转化为由海量基本单元构成的单片数字集成系统(或其中的各类部件); 基本单元可以由基本逻辑门表达(ASIC设计),也可以由可编程逻辑单元表达(FPGA设计); 综合目标: 成本(单元数量)、时间(延迟、频率),引言,ASIC综合:集成面积,引言,FPGA综合:使用的可编程单元数量,引言,电路的仿真: 通过在计算机中运行由硬件描述语言(VHDL)表达的电路程序,表现出电路中各器件的输入输出关系,表现出信号在电路中的波形变化。 仿真的目标: 检测电路输入输出关系是否实现? 检测电路的最高运算速度或频率?,引言,数字系统的输入输出关系: 状态的有限性 状态变化的离散性 输入变换决定输出变化,引言,系统时间延迟导致的问题,输出状态的稳定性取决于系统延迟性能及输入变化频率,引言,本课程内容 了解硬件描述语言(VHDL)的基本表达思想; 了解数字集成电路的基本单元特点; 了解电路优化设计的基本方法; 理解硬件语言表达的原理与局限。,引言,本课程内容 1 VHDL对电路设计的基本描述 2 数字集成电路的基本单元 3 组合逻辑的设计优化 4 基于运算单元的设计优化 5 基于FPGA的电路设计,教材(主要参考书),Digital Design Principles & Practices (第四版) John F.Wakerly 高等教育出版社 (2007),引言,教材(主要参考书),电子设计自动化技术 (第二版) 李平 等 编著 电子科大出版社 (2014),引言,1.1 程序的结构 library、entity、port 1.2 设计的表达 architecture、signal 1.3 结构表达与运算表达 1.4 数字系统的进程表达 process,第一章 VHDL对电路设计的基本描述,VHDL与数字集成电路设计,VHDL表达的基本程序结构,1.1 程序的结构 library、entity、port,各种数据类型、运算函数、数据库建设、元件IP的汇总,用于设计复用,支持交流共享。,1.1 程序的结构 library、entity、port,library ieee use ieee. std_logic_1164. all; 逻辑类型及运算 use ieee. std_logic_arith. all; 算数类型及运算 use ieee. std_logic_signed. all; 逻辑算数转换 use ieee. std_logic_unsigned. all; 逻辑算数转换 use ieee. std_logic_textio. all; 文本输入输出,常用的公用资源,1.1 程序的结构 library、entity、port,library 包集合使用的公用资源 package my_design is 数据类型、常量、元件、函数、过程的设置; end my_design ; package body my_design is 函数、过程的完整描述 end my_design ;,典型的复用共享资源:包集合文件,1.1 程序的结构 library、entity、port,library ieee use ieee. std_logic_1164. all; 逻辑类型及运算 use ieee. std_logic_arith. all; 算数类型及运算 use work.my_design.all 自定义资源及运算,复用共享资源的调用,1.1 程序的结构 library、entity、port,自顶向下层次化设计的体现 entity 与 component 形成对应,表达层次化设计思想。,1.1 程序的结构 library、entity、port,实体的意义:电路的局部单元,1.1 程序的结构 library、entity、port,实体在设计中的意义:entity与component 用于表达层次化设计:需要进行内部设计的部件,1.1 程序的结构 library、entity、port,元件:component 在上层设计中设置,发布细节有待完善的设计任务,交由下层完成细节设计。 实体:entity 接收的设计任务书,需要通过构造体表达设计细节。,实体在设计中的意义,1.1 程序的结构 library、entity、port,设置元件和实体的条件:自顶向下分割设计 综合:电路结构的设计不具备唯一性,需要对结构进行细节的分割设计; 仿真:电路中信号传输途径不唯一,需要分割到足够小的单元以清楚表达各种不同的时间延迟。 表达:将海量单元参与的设计按功能分割为子系统层次化表达,使设计表达一目了然。,1.1 程序的结构 library、entity、port,元件语句: component fa port (a1,a2,a3: in bit; y1,y2: out bit); end component; 实体语句: entity fa is port (a1,a2,a3: in bit; y1,y2: out bit); end fa;,元件/实体的表达,1.1 程序的结构 library、entity、port,元件/实体编程要点: 使用元件/实体名称表达模块的功能; 标明各端口的输入输出特性; 表达端口的线宽和状态取值;,entity fa is port ( a1,a2,a3: in std_logic ; y1,y2: out std_logic); end fa;,1.1 程序的结构 library、entity、port,典型的端口模式: in 输入端口 out 输出端口 inout 双向端口,entity fa is port ( a1,a2,a3: in std_logic ; y1,y2: out std_logic); end fa;,1.1 程序的结构 library、entity、port,端口被封装于元件内部,在上层设计中不可见,在下层设计的构造体中使用。,端口采用数组表达:数据总线,entity fa is port ( a1,a2,a3: in std_logic ; y1,y2: out std_logic); end fa;,1.1 程序的结构 library、entity、port,entity fa is port ( a: in std_logic_vector(2 downto 0) ; y: out std_logic_vector(1 downto 0); end fa;,1.1 程序的结构 library、entity、port 1.2 设计的表达 architecture、signal 1.3 结构表达与运算表达 1.4 数字系统的进程表达 process,第一章 VHDL对电路设计的基本描述,VHDL与数字集成电路设计,VHDL的构造体:architecture,1.2 设计的表达 architecture、signal,实体与构造体的关系,1.2 设计的表达 architecture、signal,USE WORK.std_logic_1164.ALL; ENTITY decode IS PORT( a, b, en : IN std_logic; q0, q1, q2, q3 : OUT std_logic); END decode;,实体与构造体的关系,1.2 设计的表达 architecture、signal,ARCHITECTURE structural OF decode IS COMPONENT inv PORT( a: IN std_logic; b: OUT std_logic); END COMPONENT; COMPONENT and3 PORT( a1, a2, a3 : IN std_logic; o1 : OUT std_logic); END COMPONENT; SIGNAL nota,notb : std_logic; BEGIN I1 : inv PORT MAP(a, nota); I2 : inv PORT MAP
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号