书签 分享 收藏 举报 版权申诉 / 46
上传文档赚钱

类型第四章VHDL设计初步课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4908116
  • 上传时间:2023-01-24
  • 格式:PPT
  • 页数:46
  • 大小:833.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第四章VHDL设计初步课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第四 VHDL 设计 初步 课件
    资源描述:

    1、第第 1 1 页页第四章 VHDL设计初步第第 1 1 页页第四章 VHDL设计初步第四章 VHDL设计初步第第 2 2 页页第四章 VHDL设计初步VHDL(Very High Speed Integrated Circuit VHDL(Very High Speed Integrated Circuit Hardware Description Language)Hardware Description Language),意为超高速集,意为超高速集成电路硬件描述语言。由美国国防部成电路硬件描述语言。由美国国防部70708080年代组织年代组织研制开发,研制开发,19851985年完成第一

    2、版,年完成第一版,19871987年成为年成为IEEE IEEE Std1076-1987Std1076-1987。美国国防部规定所有官方的。美国国防部规定所有官方的ASICASIC设设计都必须用计都必须用VHDLVHDL为设计描述语言,此后渐渐成为工为设计描述语言,此后渐渐成为工业标准为大家接受。业标准为大家接受。19931993年修改成年修改成IEEE Std1164-IEEE Std1164-19931993。19951995年,中国国家技术监督局组织编撰并出年,中国国家技术监督局组织编撰并出版版CADCAD通用技术规范通用技术规范,推荐,推荐VHDLVHDL语言作为我国电语言作为我国电

    3、子设计自动化硬件描述语言的国家标准。子设计自动化硬件描述语言的国家标准。VHDL的由来的由来4.1 概述概述 第第 3 3 页页第四章 VHDL设计初步一些语法约定1.可选内容可选内容2.大小写不敏感大小写不敏感3.-后面为注释后面为注释4.层次缩进层次缩进5.源文件名源文件名必须与实体名一致与实体名一致第第 4 4 页页第四章 VHDL设计初步4.2 VHDL语言的基本单元及其构成语言的基本单元及其构成 4.2.1 2选选1多路选择器的多路选择器的VHDL描述描述 mux21aabsqasbq第第 5 5 页页第四章 VHDL设计初步LIBRARY IEEE;USE IEEE.STD_LOG

    4、IC_1164.ALL;ENTITY mux21 ISPORT(a,b,s:IN BIT;q:OUT BIT );END mux21;ARCHITECTURE connect OF mux21 ISBEGINq=a WHEN s=0 ELSE b;END connect;设计一个2选1多路通道程序包实体结构体信号传输符号第第 6 6 页页第四章 VHDL设计初步第第 7 7 页页第四章 VHDL设计初步4.2.2 VHDL程序的基本结构程序的基本结构 第第 8 8 页页第四章 VHDL设计初步1、ENTITY(实体)是(实体)是VHDL设计中最基本的组设计中最基本的组成部分之一,它类似于原理图

    5、中的一个部件符成部分之一,它类似于原理图中的一个部件符号,它并不描述设计的具体功能,只定义了该号,它并不描述设计的具体功能,只定义了该设计所需的全部输入设计所需的全部输入/输出信号。输出信号。实体的格式如下实体的格式如下:ENTITY 实体名实体名 IS GENERIC(常数名(常数名:数据类型数据类型 :=设定值设定值 );PORT(列出设计的所有输入列出设计的所有输入/输出信号输出信号);END 实体名实体名;VHDL结构要点实际上是器件名,最好用实际上是器件名,最好用相应功能来确定,如相应功能来确定,如counter4b,adder8b。注。注意不能用意不能用prim等库的元件等库的元件

    6、的名字。的名字。规定实体的内部特性参数,规定实体的内部特性参数,如端口大小,子元件数目,如端口大小,子元件数目,定时特性等。定时特性等。第第 9 9 页页第四章 VHDL设计初步端口说明格式为:端口说明格式为:PORT(端口名:端口模式端口名:端口模式 数据类型数据类型);VHDL结构要点 IN OUT INOUT BUFFER端口模式:端口模式:用来说明数据、信号通过该端口的方向。用来说明数据、信号通过该端口的方向。(1)IN 信号进入实体;信号进入实体;(2)OUT 信号离开实体,不能在内部反馈使用;信号离开实体,不能在内部反馈使用;(3)INOUT 信号是双向的,既可进入也可离开实体;信

    7、号是双向的,既可进入也可离开实体;(4)BUFFER 信号输出到实体外部,但同时也可在信号输出到实体外部,但同时也可在实体内部反馈,允许内部引用该端口的信号。实体内部反馈,允许内部引用该端口的信号。第第 1010 页页第四章 VHDL设计初步注意注意简单地说简单地说=或或 :=In端口端口 out端口端口 =或或 :=buffer端口端口=或或 :=buffer端口端口VHDL结构要点In In 信号只能被引用信号只能被引用,不能被赋值不能被赋值out out 信号只能被赋值信号只能被赋值,不能被引用不能被引用buffer buffer 信号可以被引用信号可以被引用,也可以被赋值也可以被赋值第

    8、第 1111 页页第四章 VHDL设计初步2、Arcthitecture(结构体)(结构体)格式:格式:Arcthitecture 结构体名结构体名 of 实体名实体名 is 说明语句说明语句 内部信号、常数、元件、数据类内部信号、常数、元件、数据类型、函数等的定义型、函数等的定义 begin 功能描述语句功能描述语句 end 结构体名;结构体名;VHDL结构要点并行语句或顺序语并行语句或顺序语句或它们的混合。句或它们的混合。描述器件内部逻辑描述器件内部逻辑功能或电路结构。功能或电路结构。第第 1212 页页第四章 VHDL设计初步VHDL结构要点说明语句说明语句说明功能描述中用到的说明功能描

    9、述中用到的 信号(信号(SIGNAL)数据类型(数据类型(TYPE)常数(常数(CONSTANT)元件(元件(COMPONENT)函数(函数(FUNCTION)过程(过程(PROCEDURE)第第 1313 页页第四章 VHDL设计初步VHDL结构要点功能描述:块语句、进程语句、信号赋值语句、功能描述:块语句、进程语句、信号赋值语句、子程序调用语句、元件例化语句子程序调用语句、元件例化语句多个语句可以是并行执行的,也可顺序执行,多个语句可以是并行执行的,也可顺序执行,取决于所使用的语句类型:取决于所使用的语句类型:1.块语句:多个并行语句构成的模块块语句:多个并行语句构成的模块2.进程语句:顺

    10、序语句模块进程语句:顺序语句模块3.信号赋值语句:向信号或端口赋值信号赋值语句:向信号或端口赋值4.子程序调用语句:调用一个已设计好子程序。子程序调用语句:调用一个已设计好子程序。5.元件例化语句:调用元件,并将元件拼接为元件例化语句:调用元件,并将元件拼接为电路模块电路模块第第 1414 页页第四章 VHDL设计初步VHDL结构要点ENTITY mux21aISPORT(a,b:IN BIT;s:INBIT;q:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINq=a WHEN s=0 ELSE b;END ARCHIT

    11、ECTURE one;第第 1515 页页第四章 VHDL设计初步ARCHITECTURE one OF mux21a ISSIGNAL d,e:BIT;BEGINd=a AND(NOT s);e=b AND s;q=d OR e;END ARCHITECTURE one;第第 1616 页页第四章 VHDL设计初步ARCHITECTURE one OF mux21a ISBEGINq=(a AND(NOT s)OR(b AND s);END ARCHITECTURE one;第第 1717 页页第四章 VHDL设计初步ARCHITECTURE one OF mux21a ISBEGINPRO

    12、CESS(a,b,s)BEGINIF s=0 THENq=a;ELSE q=b;END IF;END PROCESS;END ARCHITECTURE one;第第 1818 页页第四章 VHDL设计初步4.3 VHDL文本输入设计方法初步文本输入设计方法初步第第 1919 页页第四章 VHDL设计初步将当前设计指定为工程然后选择器件、分配引脚然后选择器件、分配引脚第第 2020 页页第四章 VHDL设计初步排错有两种定位错误的方法第第1步、单击步、单击Error行,使之反色显示行,使之反色显示第第2步、单击步、单击Locate按钮按钮直接双击直接双击Error行行第第 2121 页页第四章

    13、VHDL设计初步常见错误l标点错误l将设计文件放于根目录下,没有放在工作库下l文件后缀.vhd设成.tdfl设计文件名和实体名不一致l底层设计没有运行create default include file命令l第第 2222 页页第四章 VHDL设计初步仿真下载时序仿真时序仿真和和功能仿真功能仿真的意义的意义时序仿真时序仿真就是接近真实器件运行特性的时序仿真,就是接近真实器件运行特性的时序仿真,仿仿文件中已包含了器件硬件特性参数,因而仿真精度高。文件中已包含了器件硬件特性参数,因而仿真精度高。但时序仿真的仿真文件必须来自针对具体器件的综合但时序仿真的仿真文件必须来自针对具体器件的综合器与适配器

    14、器与适配器。功能仿真功能仿真是直接对是直接对VHDL、原理图描述或其它描述形式、原理图描述或其它描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计要求的过程。仿真过程不涉及任何具体器满足原设计要求的过程。仿真过程不涉及任何具体器件的硬件特性件的硬件特性。仿照第三章的内容进行仿真和下载仿照第三章的内容进行仿真和下载第第 2323 页页第四章 VHDL设计初步第第 2424 页页第四章 VHDL设计初步LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF1 IS PORT(clk:IN S

    15、TD_LOGIC;d:IN STD_LOGIC;q:OUT STD_LOGIC);END DFF1;ddf1打开打开IEEE库库STD_LOGIC:标准逻辑位标准逻辑位在综合器中,在综合器中,STD_LOGIC被看作有被看作有9种值,种值,如如-、X、0、1和和Z等等而而BIT只能取只能取0和和1程序包程序包4.4 VHDL 程序设计举例程序设计举例例例41 D触发器触发器第第 2525 页页第四章 VHDL设计初步ARCHITECTURE bhv OF DFF1 IS SIGNAL q1:STD_LOGIC;BEGINPROCESS(clk)BEGINIF clkEVENT AND CLK=

    16、1 THEN q1=D;END IF;q=q1;END PROCESS;END bhv;引进内部节点信号进程语句及敏感信号检测clk上升沿将数据输出端口不完整条不完整条件语句件语句顺序顺序语句语句第第 2626 页页第四章 VHDL设计初步边沿型触发器的时序波形边沿型触发器的时序波形第第 2727 页页第四章 VHDL设计初步LIBRARY IEEE;USE IEEE.STD_LOGIC _1164.all;ENTITY test1 ISport(clk,d:IN STD_LOGIC;q:OUT STD_LOGIC);END test1;ARCHITECTURE test1_body OFte

    17、st1 ISBEGINPROCESS(clk)BEGIN IF rising_edge(clk)THEN q=d;END IF;END PROCESS;END test1_body;第第 2828 页页第四章 VHDL设计初步 例例41基本语法小结基本语法小结 定义信号定义信号 SIGNAL:SIGNAL A1:STD_LOGIC;信号属性函数信号属性函数 EVENT PROCESS语句结构语句结构:顺序语句,行为描述语句顺序语句,行为描述语句 敏感信号表,敏感信号表,PROCESS语句特点语句特点 时序电路:不完整条件语句产生时序电路时序电路:不完整条件语句产生时序电路 时钟上升沿测试时钟上

    18、升沿测试语句结构语句结构:CLKEVENT AND CLK=1,RISING_EDGE()第第 2929 页页第四章 VHDL设计初步例例42 一位全加器一位全加器第第 3030 页页第四章 VHDL设计初步半加器真值表ABSCo0000101001101101第第 3131 页页第四章 VHDL设计初步方法一:根据电路原理图LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder1 IS PORT(a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END h_adder1;ARCHITECTURE fh1 OF

    19、h_adder1 ISBEGINso=NOT(a XOR(NOT b);co=a AND b;END fh1;并行赋值语句并行赋值语句第第 3232 页页第四章 VHDL设计初步co0acobso0so第第 3333 页页第四章 VHDL设计初步方法二:根据真值表ARCHITECTURE fh2 OF h_adder2 ISSIGNAL sel:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINselso=0;coso=1;coso=1;coso=1;coNULL;END CASE;END PROCESS;END fh2;并置操作符并置操作符完整条件语句完整条件语句第第 34

    20、34 页页第四章 VHDL设计初步SEL1.0DATA3.0OUTMUXSEL1.0DATA3.0OUTMUXMux04 hE-acosobMux14 h8-第第 3535 页页第四章 VHDL设计初步全加器或门描述或门描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a IS PORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END or2a;ARCHITECTURE one OF or2a ISBEGINc=a OR b;END one;第第 3636 页页第四章 VHDL设计初步全加器LIBRARY IE

    21、EE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder IS PORT(ain,bin,cin:IN STD_LOGIC;cout,sum:OUT STD_LOGIC);END ENTITY f_adder;ARCHITECTURE fd1 OF f_adder ISCOMPONENT h_adder1PORT(a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END COMPONENT;COMPONENT or2aPORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END COMPONENT;第第 373

    22、7 页页第四章 VHDL设计初步 SIGNAL d,e,f:STD_LOGIC;BEGIN u1:h_adder1 PORT MAP(ain,bin,d,e);u2:h_adder1 PORT MAP(e,cin,f,sum);u3:or2a PORT MAP(d,f,cout);END fd1;def第第 3838 页页第四章 VHDL设计初步 例例42基本语法小结基本语法小结 CASE语句:语句:表达真值表表达真值表CASEISWHEN;END CASE;第第 3939 页页第四章 VHDL设计初步标准逻辑矢量数据类型:标准逻辑矢量数据类型:STD_LOGIC_VECTORB:OUT ST

    23、D_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL A:STD_LOGIC_VECTOR(1 TO 4);B=“01100010”;-B(6)=?B(4 DOWNTO 1)=“1101”;-B(3)=?A(1 TO 4)=“1101”;-A(3)=?B(7 DOWNTO 4)连接端口名,连接端口名,);第第 4141 页页第四章 VHDL设计初步并置操作符:“&”a =1 0 b(1)e(2)IF a d=10100011”THEN 第第 4242 页页第四章 VHDL设计初步LIBRARY IEEE;USE IEEE.std_logic_1164.all;ENTITY cnt

    24、4_1 IS PORT(clk:IN BIT;q:BUFFER INTEGER RANGE 15 DOWNTO 0);END cnt4_1;ARCHITECTURE behave OF cnt4_1 ISBEGIN PROCESS(clk)BEGIN IF clkEVENT AND clk=1 THEN q=q+1;END IF;END PROCESS;END behave;取整数数据类型,为什么?取整数数据类型,为什么?整数取值范围整数取值范围端口信号模式取端口信号模式取BUFFER,为什么?,为什么?注意整数和位的不同表达方式!注意整数和位的不同表达方式!例例43 四位加法计数器四位加法计

    25、数器第第 4343 页页第四章 VHDL设计初步 定输出信号数据类型为整数类型:定输出信号数据类型为整数类型:INTEGER,必须定义整数取值范围必须定义整数取值范围,RANGE 15 DOWNTO 0 端口信号模式取缓冲型:端口信号模式取缓冲型:BUFFER 整数和位的表达方式:整数和位的表达方式:1+5;1;“1011”加减算术符的适用范围:整数加减算术符的适用范围:整数 Q=Q+1;例例43基本语法小结基本语法小结第第 4444 页页第四章 VHDL设计初步 如何进行四位加法计数器的设计?如何进行四位加法计数器的设计?计数器由组合电路模块和时序电路模块构计数器由组合电路模块和时序电路模块

    26、构成:成:加加1组合电路、锁存器;计数时钟其实是锁存信号组合电路、锁存器;计数时钟其实是锁存信号 BUFFER并非是一种特殊的硬件端口结构,并非是一种特殊的硬件端口结构,只是一种功能描述,只是一种功能描述,作为内部输出信号可以作为内部输出信号可以反馈到实体内部反馈到实体内部。注意注意BUFFER与与INOUT 不同。不同。第第 4545 页页第四章 VHDL设计初步+A3.0B3.0ADDERDQPREENACLRCLKQ3.0Add04 h1-Q3.0reg04位锁存器位锁存器组合电路加组合电路加1器器锁存信号锁存信号输出反馈输出反馈第第 4646 页页第四章 VHDL设计初步LIBRARY

    27、 IEEE;USE IEEE.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;Entity cnt4_2 isport(clk:in std_logic;port(clk:in std_logic;q:out std_logic_vector(3 downto 0);q:out std_logic_vector(3 downto 0);end cnt4_2;architecture test1_body of cnt4_2 ISsignal q1:std_logic_vecto

    28、r(3 downto 0);signal q1:std_logic_vector(3 downto 0);beginprocess(clk)process(clk)beginbegin if if clkevent AND clk=1 clkevent AND clk=1 thenthen q1=q1+1;q1=q1+1;end if;end if;q=q1;q=q1;end process;end test1_body;STD_LOGIC_UNSIGNED库库里的操作符为重载函数,解决里的操作符为重载函数,解决了了“+”只能对相同数据类型操只能对相同数据类型操作数进行运算的缺点作数进行运算的缺点

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第四章VHDL设计初步课件.ppt
    链接地址:https://www.163wenku.com/p-4908116.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库