欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    VHDL与数字集成电路设计VHDL-1-1.ppt

    • 资源ID:9416970       资源大小:2.38MB        全文页数:158页
    • 资源格式: PPT        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VHDL与数字集成电路设计VHDL-1-1.ppt

    1、VHDL与数字集成电路设计,电子科技大学李俊宏,引言,研究生课程的特点:围绕一个科学或工程问题,寻求解决问题的思路;从已有基础中发现问题,解决问题,训练批判性思维能力。,本课程的特点:考虑电子设计自动化(EDA)中的思路和问题。已有基础(本科课程):电子设计自动化技术;数字集成路设计。,引言,本课程的特点:考虑电子设计自动化(EDA)中的思路和问题。,引言,电子设计自动化 Electronic Design Automatic 采用计算机工具实现数字集成电路的自动化设计;利用计算机语言表达电路设计思想;利用计算机实现电路的综合与仿真;,引言,为什么采用电子设计自动化?电路系统的集成化:成本、功

    2、耗、可靠性 集成电路的单片化:不再由分立器件进行组装,需要在芯片上进行版图设计实现;超大规模系统的集成:单芯片上需要集成海量基本单元。,VHDL与数字集成电路设计(引言),HDL,FPGA,ASIC,数字集成电路,什么是HDL?Hardware:硬件定制电路 Description:对于电路设计的描述 Language:在计算机上使用的工具,引言,在计算机平台上,利用语言程序,宏观描述数字电路的行为。,什么是FPGA?Field:现场 Programmable:可编程 Gate:CMOS逻辑门 Array:阵列,引言,一种特殊的芯片,可允许用户对其进行编程,实现不同的功能。,什么是ASIC?A

    3、pplication:应用 Specific:特定 Integrated:集成 Circuit:电路,引言,ASIC即专用集成电路,包括模拟ASIC和数字ASIC,真正定义上的数字集成电路是指数字ASIC。,引言,HDL,FPGA,ASIC之间有什么联系?FPGA,ASIC有什么区别?如何从HDL走到ASIC,数字集成电路的设计流程是什么?,引言,模拟电路的各方面行为特性较为复杂,只能用完整的电路图来表述而难以用简单的语言来描述。数字信号完全是由1和0组成,所以无需复杂的电路,用语言即可描述其行为。HDL即硬件描述语言,用代码即可描述电路行为,避免使用复杂的电路。,引言,有了HDL描述的电路,

    4、将其烧录到FPGA中,即可实现其具体电路功能,如实现一个CPU,单片机,DSP等等。,FPGA为可编程逻辑器件,所以可以根据HDL语言的描述,实现各种数字电路,例如FPGA可以直接作为单片机,DSP,CPU来使用。,引言,能否直接用FPGA替代常见的数字集成电路,例如直接替换CPU,DSP?,成本过高!解决方案:ASIC,通信芯片可直接使用FPGA通信业利润较高通信协议更新较快,引言,利用计算机EDA软件,可将HDL代码转换为CMOS逻辑门电路,该过程叫做综合。有了CMOS电路,即可进行版图设计,送代工厂流片,封装测试,形成数字集成电路产品。由于该数字集成电路是由指定的HDL代码生成的固定电路

    5、,所以只能实现一种功能,不能像FPGA那样可根据编程来实现不同的功能,所以被称为数字专用集成电路,即数字ASIC!由于数字ASIC只保留实现特定功能所必须的电路,所以面积将大幅降低,成本大幅缩减。,引言,EDA设计总流程,HDL描述,FPGA烧录,可应用于通信业的FPGAASIC原型验证,综合为CMOS电路,版图设计,代工厂加工,测试封装,成品ASIC,引言,电路综合:将程序语言描述自动转化为由海量基本单元构成的单片数字集成系统(或其中的各类部件);基本单元可以由基本逻辑门表达(ASIC设计),也可以由可编程逻辑单元表达(FPGA设计);综合目标:成本(单元数量)、时间(延迟、频率),引言,A

    6、SIC综合:集成面积,引言,FPGA综合:使用的可编程单元数量,引言,电路的仿真:通过在计算机中运行由硬件描述语言(VHDL)表达的电路程序,表现出电路中各器件的输入输出关系,表现出信号在电路中的波形变化。仿真的目标:检测电路输入输出关系是否实现?检测电路的最高运算速度或频率?,引言,数字系统的输入输出关系:状态的有限性 状态变化的离散性 输入变换决定输出变化,引言,系统时间延迟导致的问题,输出状态的稳定性取决于系统延迟性能及输入变化频率,引言,本课程内容 了解硬件描述语言(VHDL)的基本表达思想;了解数字集成电路的基本单元特点;了解电路优化设计的基本方法;理解硬件语言表达的原理与局限。,引

    7、言,本课程内容 1 VHDL对电路设计的基本描述 2 数字集成电路的基本单元 3 组合逻辑的设计优化 4 基于运算单元的设计优化 5 基于FPGA的电路设计,教材(主要参考书),Digital Design Principles&Practices(第四版)John F.Wakerly 高等教育出版社(2007),引言,教材(主要参考书),电子设计自动化技术(第二版)李平 等 编著 电子科大出版社(2014),引言,1.1 程序的结构 library、entity、port1.2 设计的表达 architecture、signal1.3 结构表达与运算表达 1.4 数字系统的进程表达 proc

    8、ess,第一章 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_unsign

    9、ed.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

    10、;逻辑类型及运算 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 程序的结构 l

    11、ibrary、entity、port,元件:component 在上层设计中设置,发布细节有待完善的设计任务,交由下层完成细节设计。实体:entity 接收的设计任务书,需要通过构造体表达设计细节。,实体在设计中的意义,1.1 程序的结构 library、entity、port,设置元件和实体的条件:自顶向下分割设计 综合:电路结构的设计不具备唯一性,需要对结构进行细节的分割设计;仿真:电路中信号传输途径不唯一,需要分割到足够小的单元以清楚表达各种不同的时间延迟。表达:将海量单元参与的设计按功能分割为子系统层次化表达,使设计表达一目了然。,1.1 程序的结构 library、entity、po

    12、rt,元件语句:component fa port(a1,a2,a3:in bit;y1,y2:out bit);end component;实体语句:entity fa isport(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 程序

    13、的结构 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、entit

    14、y、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、port1.2 设计的表达 architecture、signal1.3 结构表达与运算表达 1.4 数字系统的进程表达 process,第一章 VHDL对电路设计的基本描述,VHDL与数字集成电路设计,VHDL的构造体:architecture,1.2 设计的表达 architecture、signal,实体与构造体的关系,1.2 设计的表达

    15、 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

    16、: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(b,notb);A1:and3 PORT MAP(nota,en,notb,Q0);A2:and3 PORT MAP(a,en,notb,Q1);A3:and3 PORT MAP(nota,en,b,Q2);A4:and3 PORT MAP(a,en,b,Q3);END structural;,1.2 设计的表达 architecture、signal,低级配

    17、置:对解码器实体低级形式的元件配置如下:CONFIGURATION decode_llcon OF decode IS FOR structural FOR I1:inv USE CONFIGURATION WORK.invcon(behav);END FOR;FOR I2:inv USE CONFIGURATION WORK.invcon(behav);END FOR;FOR ALL:and3 USE CONFIGURATION WORK.and3con(behav);END FOR;END structural;END decode_llcon;,实体与构造体的关系,1.2 设计的表达 a

    18、rchitecture、signal,USE WORK.std_logic_1164.ALL;ENTITY inv IS PORT(a:IN std_logic;b:OUT std_logic);END inv;ARCHITECTURE behave OF inv ISBEGIN b=NOT(a)AFTER 5 ns;END behave;,CONFIGURATION invcon OF inv IS FOR behave END FOR;END invcon;,实体与构造体的关系,1.2 设计的表达 architecture、signal,USE WORK.std_logic_1164.AL

    19、L;ENTITY and3 IS PORT(a1,a2,a3:IN std_logic;o1:OUT std_logic);END and3;ARCHITECTURE behave OF and3 ISBEGIN o1=a1 AND a2 AND a3 AFTER 5 ns;END behave;,CONFIGURATION and3con OF and3 IS FOR behave END FOR;END and3con;,1.2 设计的表达 architecture、signal,USE WORK.std_logic_1164.ALL;ENTITY counter IS PORT(load

    20、,clear,clk:IN std_logic;data_in:IN INTEGER;data_out:OUT INTEGER);END counter;ARCHITECTURE count_255 OF counter ISBEGIN PROCESS(clk).END PROCESS;END count_255;ARCHITECTURE count_64k OF counter ISBEGIN PROCESS(clk).END PROCESS;END count_64k;,CONFIGURATION small_count OF counter IS FOR count_255 END FO

    21、R;END small_count;,CONFIGURATION big_count OF counter IS FOR count_64k END FOR;END big_count;,构造体表达一个实体的内部细节:运算功能、器件连接。,VHDL的构造体:architecture,1.2 设计的表达 architecture、signal,architecture arch_name of entity_name is 信号节点设置;-定义语句begin 元件连接设置;-并行语句end arch_name;,VHDL的构造体:architecture,1.2 设计的表达 architectu

    22、re、signal,构造体语法要点,isbegin:说明语句部分 用于对构造体内使用的信号节点进行设置;在VHDL中,信号设置只能在构造体说明区设置,不能在任何子程序中设置;若是一个构造体内没有信号节点设置,则该实体没有设计细节,没有必要存在,1.2 设计的表达 architecture、signal,VHDL中的信号设置:signal,signal signal_name:signal_type;信号名 信号类型 signal signal_name:signal_type:signal_value;信号名 信号类型 信号初值,1.2 设计的表达 architecture、signal,VH

    23、DL中的信号设置的意义,Signal 电路中的节点(连线)每个节点需要由唯一的器件驱动:信号与其驱动器件形成一一对应,可以代表器件设置;VHDL希望通过信号设置实现结构细节的指定。,1.2 设计的表达 architecture、signal,VHDL中的信号设置的意义,Signal 电路中的测试点 每个器件的输出应该可以进行仿真测试,信号与测试数据形成对应,信号设置可以代表寄存器设置,并为寄存器中设置初始值。,1.2 设计的表达 architecture、signal,architecture中的并行语句,beginend:执行语句部分,采用各种并行语句表达电路元件的连接设置,表达元件的输入输

    24、出关系(运算函数);beginend:表达一次具体仿真过程的开始与结束。,元件例化语句 信号赋值语句 进程语句,1.2 设计的表达 architecture、signal,并行语句对电路设计的表达方式,结构描述:关注硬件结构细节的形成,电路的综合效果;运算描述(RTL描述):关注电路的输入输出对应和时间延迟关系,更注重于仿真表现;行为描述:关注电路模块的功能行为,对数据运算及流程的控制能力。,1.2 设计的表达 architecture、signal,电路设计的仿真,采用计算机系统对虚拟电路模型进行运算,了解设计中输入状态变化对输出(节点)状态变化的影响关系,也就是输入波形与输出波形之间时间关

    25、系。计算机顺序的运算表达-电路元件并行的变化 静态的运算结果-电路中波形的动态变化,1.2 设计的表达 architecture、signal,仿真计算系统的构架,1.2 设计的表达 architecture、signal,初值设定,在仿真时刻0进行:为每个端口和信号分配寄存器,并为寄存器设置初始值;对每个输入端口和信号的设置应该分别形成指令,放入时间表中,这些指令的执行时刻为时刻0;,电路设计的仿真实现,1.2 设计的表达 architecture、signal,输入波形的预设:将输入波形的变化(时刻,状态)以指令形式放入时间表;时间表中的指令按照状态变化时间先后顺序排列;同一时刻变化的指令

    26、则按照放入时间的先后顺序排列。,电路设计的仿真实现,1.2 设计的表达 architecture、signal,仿真实施:从时间表中调取排列在最前面的尚未执行的指令;根据指令改变相应信号寄存器的状态;按照先后顺序排列,逐条执行与该信号有关的并行语句;若执行结果导致新的信号状态变化,则形成新的指令,添加到时间表的相应位置。执行到end,则本条指令仿真结束,继续调用时间表中下一条指令。,电路设计的仿真实现,1.2 设计的表达 architecture、signal,仿真结束条件:运算指令全部执行完毕;或者遇上强制终止的指令(包含于输入波形预设中)。仿真结束后,可以根据时间表中的记录,逐条表达出每个

    27、信号的变化时刻和变化状态,根据这些记录就可以描绘出信号变化的时间波形图。,电路设计的仿真实现,1.2 设计的表达 architecture、signal,每次仿真由状态变化指令引发,但仿真过程中并不导致任何状态变化,只是形成新的状态变化指令;尽管程序语句是按照书写顺序执行,但仿真结果与程序书写顺序完全无关,而能合理地表达输入状态变化与输出状态变化之间的时间关系。,VHDL的仿真特点,1.2 设计的表达 architecture、signal,仿真过程中每个元件(语句)的时间延迟关系应该由VHDL语句直接表达;若是程序中的并行语句不含时间延迟条件,则该语句输出状态变化与其输入状态变化同时发生。这

    28、种语句的仿真通常称为逻辑验证,仅反映器件静态的输入输出关系;而若是程序中每个元件都附加了必要的时间延迟,其输出状态的变化必然滞后于输入状态的变化,这样的仿真通常称为时序仿真,或前仿真。元件的时间延迟需要根据具体物理模型进行设定。,VHDL的仿真特点,1.2 设计的表达 architecture、signal,也可以先将VHDL程序进行综合,实现了与电路基本单元的对应连接后再进行仿真,这种仿真通常称为后仿真。这种仿真不应在语句中设置时间延迟,这种设置对综合毫无意义。在综合过程中,根据电路基本单元的模型或实际测试结果,会为每个基本单元附加相应的时间延迟,并自动添加到程序语句表达中,从而输出状态的变

    29、化滞后于输入状态的变化。,VHDL的仿真特点,1.2 设计的表达 architecture、signal,HDL的结构对比,1.2 设计的表达 architecture、signal,1.1 程序的结构 library、entity、port1.2 设计的表达 architecture、signal1.3 结构表达与运算表达 1.4 数字系统的进程表达 process,第一章 VHDL对电路设计的基本描述,VHDL与数字集成电路设计,元件例化:结构连接的描述,1.3 结构表达与运算表达,元件的设置与使用,component m7408 port(a,b:in std_logic;y:out s

    30、td_logic);end component;,u1:m7408 port map(rd,pi,error);,u2:m7408 port map(rd,po,rp);,1.3 结构表达与运算表达,元件语句的使用特点,元件语句能够方便直观地表达硬件电路的结构特点;利用元件语句可以强制设定电路的综合效果,由元件语句设定的端口节点通常不会在综合中消去。,1.3 结构表达与运算表达,元件语句的使用特点,利用元件语句可以隔离分层设计中的层间干扰,简化设计过程:在自顶向下的设计中,利用元件语句可以对系统进行抽象分割,避开底层设计细节;在自底向上的设计中,元件语句也能充分发挥器件的复用功能,提高设计效率

    31、。,1.3 结构表达与运算表达,元件语句的使用特点,元件设置只是发布一项设计任务,并未包含元件内部的设计细节;元件例化时只是表达了元件的外部连接关系,没有表达元件本身的输出输出运算;在底层设计完成功能描述并能够通过仿真之前,例化的元件是不能进行仿真的;在缺乏底层细节条件下,元件内部电路也不能真正综合。,1.3 结构表达与运算表达,信号赋值:运算关系的表达,u1:error=rd and pi;,u2:rp=rd and po;,1.3 结构表达与运算表达,信号赋值表达的特点,每个器件(或器件的每个输出)采用一条信号赋值语句表达;不需要考虑器件名称及内部端口,直接表达输入信号与输出信号之间的运算

    32、关系,可以根据这种关系进行仿真运算;不指定器件内部的结构细节,默认可以自动综合。,1.3 结构表达与运算表达,运算的函数表达,信号赋值语句的右边通过函数表达对输入信号的运算规则,函数的定义通常放置于资源库中,使用函数时应考虑运算信号的数据类型和运算函数形式,注意对相应资源库的调用。,y=f(a,b);,1.3 结构表达与运算表达,运算的函数表达:逻辑运算,若为2值逻辑,默认基本规则,无需资源调用;若为9值逻辑,则需调用下列资源:,y=a and b;,library ieee;use ieee.std_logic_1164.all;,1.3 结构表达与运算表达,逻辑运算的特点,VHDL中预定义

    33、的逻辑运算函数,除了not具有优先性外,其余运算的优先关系需要采用括号表达:,not and or nand nor xor xnor,1.3 结构表达与运算表达,基本的逻辑运算函数都可以与电路的基本单元对应;采用逻辑运算式表达的运算关系通常都能够按照规范的优化方法综合得到最优的结构;逻辑类型的选择只具有仿真意义,除了输出的高阻z之外,对综合不产生影响。,逻辑运算的特点,1.3 结构表达与运算表达,若为整数类型,默认基本规则,无需资源调用;若为二进制符号数,则需调用下列资源:,y=a+b;,library ieee use ieee.std_logic_arith.all;算数类型及运算 use ieee.std_logic_signed.all;逻辑算数转换,运算的函数表达:算数运算,1.3 结构表达与运算表达,算数运算的特点,仅考虑仿真时,可以使用整数、实数等类型,可以使用多种运算函数


    注意事项

    本文(VHDL与数字集成电路设计VHDL-1-1.ppt)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开