欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《FPGA第一章》PPT课件.ppt

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

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

    《FPGA第一章》PPT课件.ppt

    1.1 实体实体1.2 结构体结构体1.3 块、子程序和进程块、子程序和进程 1.4 库和程序包库和程序包 1.5 配置配置 第一章第一章 VHDLVHDL基本结构基本结构 总总目录目录章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节 一个完整的一个完整的VHDL程序或设计实体,要求能为程序或设计实体,要求能为VHDL综合器所支持,并能作为一个独立的设计单元,综合器所支持,并能作为一个独立的设计单元,即元件的形式而存在的即元件的形式而存在的VHDL程序。程序。实体实体和和结构体结构体是必需的是必需的可构成最简单可构成最简单VHDL程序。程序。通常通常VHDL程序包含五个部分:程序包含五个部分:(1)实体()实体(ENTITY)(2)结构体()结构体(ARCHITECTURE)(3)包集合()包集合(PACKAGE)(4)库()库(LIBRARY)(5)配置()配置(CONFIGURATION)章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 实体实体是是VHDL语言设计的基本单元。语言设计的基本单元。1.1 实体实体 实体说明实体说明是对设计实体与外部电路的是对设计实体与外部电路的接口描述接口描述,它规定了设计单元的它规定了设计单元的输入输出接口信号或引脚输入输出接口信号或引脚,是设计实体对外的一个通信界面。是设计实体对外的一个通信界面。结构体结构体用于描述此设计实体的用于描述此设计实体的逻辑结构逻辑结构和和逻辑功能逻辑功能。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录实体语句结构如下:实体语句结构如下:例:例:ENTITY or2 IS PORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END ENTITY or2;ENTITY 实体名实体名 IS GENERIC(类属表);类属表);PORT(端口表);端口表);END ENTITY 实体名;实体名;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 在层次化系统中,实体说明是整个模块在层次化系统中,实体说明是整个模块或整个系统的输入输出(或整个系统的输入输出(I/O)接口)接口 在器件级设计中实体说明是芯片的输入在器件级设计中实体说明是芯片的输入输出(输出(I/O)章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 1.1.11.1.1类属参量类属参量(GENERIC)w类属参量类属参量是实体说明组织中的是实体说明组织中的可选项可选项,放在端口说明之前,其一般格式为:放在端口说明之前,其一般格式为:wGENERIC CONSTANT 名字表:名字表:IN 子类型标识子类型标识:=静态表达式静态表达式,类属参量类属参量用来规定用来规定端口的大小端口的大小、实体、实体中中子元件数目子元件数目及实体的及实体的定时特性定时特性等。等。它和常数不同,它和常数不同,常数常数只能从设计实体的只能从设计实体的内部得内部得到赋值且不能改变到赋值且不能改变;而类属参量的值可由设计实;而类属参量的值可由设计实体的外部提供。体的外部提供。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录w其一般书写格式为:其一般书写格式为:wPORT(端口名(端口名:端口模式:端口模式 数据类型;数据类型;w 端口名端口名:端口模式:端口模式 数据类型;数据类型;w ););这里类属参量中参数这里类属参量中参数trise为上升沿宽度,为上升沿宽度,tfall为下为下降沿宽度,用于仿真模块的设计;降沿宽度,用于仿真模块的设计;定义地址总线的宽度为定义地址总线的宽度为Addrwidth位,类属值位,类属值Addrwidth的改变将使结构体中所有相关的总线定义同的改变将使结构体中所有相关的总线定义同时改变,由此使整个设计实体的硬件结构发生变化。时改变,由此使整个设计实体的硬件结构发生变化。例:例:GENERIC(trise,tfall:TIME:=1ns;Addrwidth:INTEGER:=16);PORT(a0,a1:IN STD_LOGIC;Add_bus:OUT STD_LOGIC_VECTOR(addrwidth-1 DOWNTO 0);章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录1.1.2 端口说明端口说明(PORT)端口端口是是对基本设计单元与外部接口的对基本设计单元与外部接口的描述描述。其功能其功能相当电路图相当电路图符号的符号的外部引脚外部引脚。端口可以被赋值,也可以当做逻辑变端口可以被赋值,也可以当做逻辑变量用在逻辑表达式中。量用在逻辑表达式中。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 其中端口名是设计者为实体的每一个对外通道其中端口名是设计者为实体的每一个对外通道所取的名字,通常为英文字母加数字,名字的定义有所取的名字,通常为英文字母加数字,名字的定义有一定的惯例,如一定的惯例,如clk 表示时钟,表示时钟,D开头的端口名表示数开头的端口名表示数据,据,A开头的端口名表示地址。端口模式是指这些通开头的端口名表示地址。端口模式是指这些通道上的数据流动的方式,如输入或输出等。道上的数据流动的方式,如输入或输出等。端口模式有以下几种类型:端口模式有以下几种类型:1输入(输入(IN)允许信号进入实体,主要用于时钟输入、控制输入允许信号进入实体,主要用于时钟输入、控制输入(如(如load、reset、enable、clk)和单向的数据输入(如)和单向的数据输入(如地址数据信号地址数据信号address)等。)等。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录2输出(输出(OUT)输出模式只允许信号离开实体,常用于计数输出、单输出模式只允许信号离开实体,常用于计数输出、单向数据输出、被设计实体产生的控制其他实体的信号等。向数据输出、被设计实体产生的控制其他实体的信号等。注意:输出模式不能用于被设计实体的内部反馈,因为输注意:输出模式不能用于被设计实体的内部反馈,因为输出端口在实体内不能看做是可读的。出端口在实体内不能看做是可读的。3双向模式(双向模式(INOUT)双向模式允许信号双向传输(既可以进入实体,也可双向模式允许信号双向传输(既可以进入实体,也可以离开实体),双向模式端口允许引入内部反馈。以离开实体),双向模式端口允许引入内部反馈。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录4缓冲(缓冲(BUFFER)缓冲模式允许信号输出到实体外部,但同时也可以缓冲模式允许信号输出到实体外部,但同时也可以在实体内部引用该端口的信号。缓冲端口既能用于输在实体内部引用该端口的信号。缓冲端口既能用于输出也能用于反馈。缓冲模式用于在实体内部建立一个出也能用于反馈。缓冲模式用于在实体内部建立一个可读的输出端口,例如计数器输出、计数器的现态用可读的输出端口,例如计数器输出、计数器的现态用来决定计数器的次态。来决定计数器的次态。端口模式可用下图说明,图中方框代表一个设计实体或端口模式可用下图说明,图中方框代表一个设计实体或模块。模块。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 在在VHDL设计中,通常将输入信号端口指定为输入设计中,通常将输入信号端口指定为输入模式,输出信号端口指定为输出模式,而双向数据通信模式,输出信号端口指定为输出模式,而双向数据通信信号,如计算机信号,如计算机PCI总线的地址总线的地址/数据复用总线,数据复用总线,DMA控制器数据总线等纯双向的信号采用双向端口模式。从控制器数据总线等纯双向的信号采用双向端口模式。从端口的名称、模式就能一目了然地指导信号的用途、性端口的名称、模式就能一目了然地指导信号的用途、性质、来源和去向。质、来源和去向。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 结构体是对实体功能的具体描述,因此它一定要跟结构体是对实体功能的具体描述,因此它一定要跟在实体的后面在实体的后面。行为描述(基本设计单元的数学模型描述)、寄存器传行为描述(基本设计单元的数学模型描述)、寄存器传输描述(数据流描述)和结构描述(逻辑元件连接描述)输描述(数据流描述)和结构描述(逻辑元件连接描述)1.2 结构体结构体 结构体也叫构造体,结构体描述了基本设计单元结构体也叫构造体,结构体描述了基本设计单元(实体)的结构、行为、元件及内部连接关系,也就是(实体)的结构、行为、元件及内部连接关系,也就是说它定义了设计实体的功能,规定了设计实体的数据流说它定义了设计实体的功能,规定了设计实体的数据流程,制定了实体内部元件的连接关系。结构体对其基本程,制定了实体内部元件的连接关系。结构体对其基本设计单元的输入和输出关系可用以下三种方式进行描述,设计单元的输入和输出关系可用以下三种方式进行描述,即即:章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 结构体一般由两大部分组成:结构体一般由两大部分组成:ARCHITECTURE 结构体名结构体名 OF 实体名实体名 IS 定义语句定义语句 BEGIN 功能描述语句功能描述语句 END 结构体名;结构体名;(1)对数据类型、常数、信号、子程序和元件等因素对数据类型、常数、信号、子程序和元件等因素进行说明的部分;进行说明的部分;(2)描述实体的逻辑行为、以各种不同的描述风格表达描述实体的逻辑行为、以各种不同的描述风格表达的功能描述语句,包括各种顺序语句和并行语句。的功能描述语句,包括各种顺序语句和并行语句。结构体的语句格式为:结构体的语句格式为:章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录1.2.1 结构体名结构体名 结构体名由设计者自行定义,结构体名由设计者自行定义,OF后面的实体名指后面的实体名指明了该结构体所对应的是哪个实体。明了该结构体所对应的是哪个实体。有些设计实体有多个结构体,这些结构体的结构体有些设计实体有多个结构体,这些结构体的结构体名不可相同,通常用名不可相同,通常用dataflow(数据流)、(数据流)、behavior(行为)、(行为)、structural(结构)命名。(结构)命名。这这3个名称体现了个名称体现了3种不同结构体的描述方式,使得种不同结构体的描述方式,使得阅读阅读VHDL语言程序时,能直接了解设计者采用的描述语言程序时,能直接了解设计者采用的描述方式。方式。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 结构体信号定义语句必须放在关键词结构体信号定义语句必须放在关键词ARCHITECTURE和和BEGIN之间,用于对结构体内部将之间,用于对结构体内部将要使用的信号、常数、数据类型、元件、函数和过程加要使用的信号、常数、数据类型、元件、函数和过程加以说明。以说明。结构体中的信号定义和端口说明一样,应有信号名称结构体中的信号定义和端口说明一样,应有信号名称和数据类型定义。因为它是内部连接用的信号,因此不和数据类型定义。因为它是内部连接用的信号,因此不需要方向说明。需要方向说明。1.2.2 结构体信号定义语句结构体信号定义语句 需要注意的是:实体说明中定义的信号是外部信需要注意的是:实体说明中定义的信号是外部信号,而结构体定义的信号为该结构体的内部信号,它号,而结构体定义的信号为该结构体的内部信号,它只能用于这个结构体中。只能用于这个结构体中。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录ARCHITECTURE rtl OF muj ISSIGNAL s1:BITSIGNAL s2,s3:STD_LOGIC_VECTOR(0 TO 3);BEGIN END rtl;例:结构体的信号定义实例。例:结构体的信号定义实例。结构体名结构体名实体名实体名结构体信号定义语句结构体信号定义语句功能描述语句功能描述语句章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录1.2.3 结构体功能描述语句结构体功能描述语句 结构体功能描述语句位于结构体功能描述语句位于BEGIN和和END之间,具之间,具体地描述了构造体的行为及其连接关系。体地描述了构造体的行为及其连接关系。结构体的功能描述语句可以含有结构体的功能描述语句可以含有5种不同类型的并行种不同类型的并行语句,如图所示。每一语句结构内部可以使用并行语语句,如图所示。每一语句结构内部可以使用并行语句,也可以是顺序语句。句,也可以是顺序语句。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录结构体构造图结构体构造图:结构体(ARCHITECTURE)说明语句 功能描述语句 块语句(BLOCK)进程语句(PROCESS)信号赋值语句 子程序调用语句 元件例化语句 由一系列并行语句构由一系列并行语句构 成的组合体,它的功能是成的组合体,它的功能是将结构体中的并行语句组将结构体中的并行语句组成一个或多个子模块成一个或多个子模块 定义顺序语句模块,用定义顺序语句模块,用以将从外部获得的信号值以将从外部获得的信号值或内部运算数据向其他的或内部运算数据向其他的信号进行赋值信号进行赋值 将设计实体内的处理将设计实体内的处理结果向定义的信号或界结果向定义的信号或界面端口进行赋值面端口进行赋值 可以调用进程或参可以调用进程或参数,并将获得的结果数,并将获得的结果赋值于信号赋值于信号 对其他的设计实体做对其他的设计实体做元件调用说明,并将此元件调用说明,并将此元件的端口与其他元件、元件的端口与其他元件、信号或高层实体的界面信号或高层实体的界面端口进行连接端口进行连接章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节(Flash演示)演示)总总目录目录ENTTITY mux2 ISPORT (d0,d1:IN BIT;sel:IN BIT;s:OUT BIT););END mux2;ARCHITECTURE dataflow OF mux2 IS SIGNAL sig:BIT;BEGINSig=(d0 AND sel)OR(NOT sel AND d1);S=sig;END dataflow;例例:2选选1数据选择器数据选择器 信号定义语句(内部信号,无方向)信号定义语句(内部信号,无方向)功能描述语句功能描述语句章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 1.3.1块语句(块语句(BLOCK)在较大规模的电子系统设计中,传统的硬件电路设在较大规模的电子系统设计中,传统的硬件电路设计通常包括一张系统总电路原理图和若干张子原理图。计通常包括一张系统总电路原理图和若干张子原理图。在在VHDL程序设计中,结构体是由多个程序设计中,结构体是由多个BLOCK块构成块构成的,如果将结构体比做总电路原理图,那么,每个的,如果将结构体比做总电路原理图,那么,每个BLOCK块则相当于一张子原理图。块则相当于一张子原理图。1.3 块、子程序和进程块、子程序和进程 章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录BLOCK块语句的结构:块语句的结构:块标号:块标号:BLOCK 接口说明接口说明 类属说明类属说明 BEGIN 并行块语句并行块语句 END BLOCK(块标号);块标号);章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录例:例:B1:BLOCK SIGNAL s1:BIT;BEGIN s1=a AND b;B2:BLOCK SIGNAL s2:BIT;BEGIN s2=c AND d;B3:BLOCK BEGIN Z=s2;END BLOCK B3;END BLOCK B2;y=s1;END BLOCK B1;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 PROCESS结构是最能体现结构是最能体现VHDL语言特色的语句。语言特色的语句。与与BLOCK语句一样,利用语句一样,利用PROCESS语句结构可以描述语句结构可以描述一个功能独立的电路。一个功能独立的电路。与与BLOCK语句不同之处是,在系统仿真时,语句不同之处是,在系统仿真时,PROCESS结构中的语句是按顺序逐条向下执行的,而不结构中的语句是按顺序逐条向下执行的,而不像像BLOCK语句那样并发执行。语句那样并发执行。一个结构体中可以有多个并行运行的进程结构,每一一个结构体中可以有多个并行运行的进程结构,每一个进程内部是由一系列顺序语句来构成的。个进程内部是由一系列顺序语句来构成的。1.3.2 进程进程(PROCESS)章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录PROCESS语句的结构:语句的结构:注意:注意:(1)在多个进程的结构体描述中,进程标号是区分各个)在多个进程的结构体描述中,进程标号是区分各个进程的标志。但是进程标号并不是必需的。进程的标志。但是进程标号并不是必需的。(2)单进程以)单进程以PROCESS开始,以开始,以END PROCESS结束。结束。进程标号进程标号 PROCESS (敏感信号表)敏感信号表)IS进程说明语句进程说明语句BEGIN 顺序描述语句顺序描述语句 END PROCESS 进程标号进程标号;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY nor2_v2 IS PORT(a,b:IN STD_LOGIC;y:OUT STD_LOGIC);END nor2_v2;ARCHITECTURE behave OF nor2_v2 ISBEGIN PROCESS (a,b)VARIABLE comb:STD_LOGIC_VECTOR(1 DOWNTO 0);例:两输入或非门例:两输入或非门 y y y y y y b)THEN tmp:=a;ELSE tmp:=b;END IF;RETURN tmp;END;END bpac;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录函数调用:ab=max(a,b)库和程序包用来描述和保留元件、类型说明函数、库和程序包用来描述和保留元件、类型说明函数、子程序等,以便在其它设计中可以随时引用这些信息,子程序等,以便在其它设计中可以随时引用这些信息,提高设计效率。提高设计效率。1.4.1 库(库(LIBRARY)库语句的格式为:库语句的格式为:LIBRARY 库名;库名;库是经编译后的数据的集合,它存放包集合定义、实库是经编译后的数据的集合,它存放包集合定义、实体定义、结构定义和配置定义。体定义、结构定义和配置定义。1.4 库和程序包库和程序包 章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 USE语句指明库中的程序包。一旦说明了库和程序包,语句指明库中的程序包。一旦说明了库和程序包,整个设计实体都可以进入访问或调用,但其作用范围仅限整个设计实体都可以进入访问或调用,但其作用范围仅限于所说明的设计实体。于所说明的设计实体。USE语句的使用将使所说明的程序语句的使用将使所说明的程序包对本设计实体部分或全部开放。包对本设计实体部分或全部开放。USE语句有以下两种常用的格式:语句有以下两种常用的格式:第第一一种种语语句句格格式式的的作作用用是是向向本本设设计计实实体体开开放放指指定定库库中中的的特定程序包内的所选定的项目。特定程序包内的所选定的项目。第二种语句格式的作用是向本设计实体开放指定库中的第二种语句格式的作用是向本设计实体开放指定库中的特定程序包内的所有内容。特定程序包内的所有内容。(1)USE 库名库名.程序包名程序包名.项目名项目名;(2)USE 库名库名.程序包名程序包名.ALL;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 例如:例如:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_1164.STD_ULOGIC;STD_ULOGIC:可枚举数据类型可枚举数据类型 此例中,第一个此例中,第一个USE语句表明打开语句表明打开IEEE库中的库中的STD_LOGIC_1164程序包,并使程序包中的所有公共资程序包,并使程序包中的所有公共资源对本语句后面的源对本语句后面的VHDL设计实体程序全部开放,关键词设计实体程序全部开放,关键词ALL代表程序包中的所有资源。代表程序包中的所有资源。第二个第二个USE语句开放了程序包语句开放了程序包STD_LOGIC_1164中中的的STD_ULOGIC数据类型。数据类型。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 注意:库说明语句的作用范围从一个实体说明开始到注意:库说明语句的作用范围从一个实体说明开始到它所属的结构体、配置为止,当一个源程序中出现两个它所属的结构体、配置为止,当一个源程序中出现两个以上实体时,两条作为使用库的说明语句应在每个设计以上实体时,两条作为使用库的说明语句应在每个设计实体说明语句前重复书写。实体说明语句前重复书写。例:例:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY and IS END and;ARCHITECTURE dataflow OF and IS END dataflow;库使用说明库使用说明章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录CONFIGURATION c1 OF and IS AND c1;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or ISCONFIGURATION c2 OF and IS AND c2;CONFIGURATION(配置)配置)库使用说明库使用说明 章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 程序包也叫包集合,主要用来存放各个设计都能共程序包也叫包集合,主要用来存放各个设计都能共享的数据类型、子程序说明、属性说明和元件说明等部享的数据类型、子程序说明、属性说明和元件说明等部分。设计者使用时只要用分。设计者使用时只要用USE子句进行说明即可。子句进行说明即可。程序包的一般书写格式如下:程序包的一般书写格式如下:PACKAGE 程序包名程序包名 ISEND PACKAGE 程序包名;程序包名;程序包首程序包首PACKAGE BODY 程序包名程序包名 IS 程序包体程序包体 END PACKAGE BODY 程序包名程序包名;程序包由两部分组成:程序包首和程序包体。程序包由两部分组成:程序包首和程序包体。1.4.2 程序包程序包章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录例例:USE STD.STD_LOGIC.ALL;PACKAGE math IS TYPE tw16 IS ARRAY(0 TO 15)OF T_WLOGIC;FUNCTION add(a,b:IN tw16)RETURN tw16;FUNCTION sub(a,b:IN tw16)RETURN tw16;END math;PACKAGE BODY math ISFUNCTION vect_to_int(s:tw16););RETURN INTEGER IS VARIBLE result:INTEGER:=0;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录BEGIN FOR i IN 0 TO 7 LOOP result:=result*2;IF s(i)=1THEN result:=result+1 END IF;END LOOP;RETURN result;END vect_to_int;FUNCTION int_to_tw16(s:INTEGER);RETURN tw16 IS VARIBLE result:tw16;VARIBLE digit:INTEGER:=2*15;VARIBLE local:INTEGER;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录BEGIN local:=s;FOR i IN 15 DOWNTO 0 LOOP IF local/digit=1 THEN Local:=local-digit;ELSE result(i):=0;END IF;digit:=digit/2;END LOOP;RETURN result;END int_to_tw16;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录FUNCTION add(a,b:IN tw16);RETURN tw16 IS VARIBLE result:INTEGER;BEGIN result:=vect_to_int(a)+vect_to_int(b);RETURN int_to_tw16(result);END add;FUNCTION sub(a,b:IN tw16);RETURN tw16 IS VARIBLE result:INTEGER;BEGIN result:=vect_to_int(a)+vect_to_int(b);RETURN int_to_tw16(result);END sub;END math;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 此例的程序包是由程序包首和程序包体两部分组成。此例的程序包是由程序包首和程序包体两部分组成。(1)程序包首定义了数据类型和函数的调用说明程序包首定义了数据类型和函数的调用说明 (2)程序包体中才具体描述实现该函数功能的语句和数程序包体中才具体描述实现该函数功能的语句和数据的赋值。据的赋值。分开描述的好处是分开描述的好处是:当函数的功能需要做某些调整或数当函数的功能需要做某些调整或数据赋值需要变化时,只要改变程序包体的相关语句就可以据赋值需要变化时,只要改变程序包体的相关语句就可以了,而无需改变程序包首的说明,这样就使得需要重新编了,而无需改变程序包首的说明,这样就使得需要重新编译的单元数目尽可能的减少了。译的单元数目尽可能的减少了。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录1.5 配置配置 在用在用VHDL描述硬件电路时,常常采用结构描述方描述硬件电路时,常常采用结构描述方式和混合描述方式。式和混合描述方式。在这两种描述方式中,常常需要将其他设计实体作在这两种描述方式中,常常需要将其他设计实体作为元件进行引用,这时就需要将不同元件通过配置安装为元件进行引用,这时就需要将不同元件通过配置安装到不同的设计实体中。到不同的设计实体中。VHDL提供了配置语句用于描述各种设计实体和元件提供了配置语句用于描述各种设计实体和元件之间连接关系以及设计实体和结构体之间的连接关系。之间连接关系以及设计实体和结构体之间的连接关系。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录例:与、或、与非、或非、异或,例:与、或、与非、或非、异或,5个结构体共用个结构体共用一个实体。一个实体。默认配置语句的基本格式为:默认配置语句的基本格式为:CONFIGURATION 配置名配置名 OF 实体名实体名 IS FOR 选配结构体名选配结构体名 END FOREND 配置名;配置名;1.5.1 默认配置默认配置章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录ARCHITECTURE or2_arc OF example_v IS BEGIN y=a OR b;END or2_arc;ARCHITECTURE and2_arc OF example_v IS BEGIN y=a AND b;END and2_arc;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY example_v IS PORT(a:IN STD_LOGIC;b:IN STD_LOGIC;y:OUT STD_LOGIC);END example_v;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录ARCHITECTURE xor2_arc OF example_v IS BEGIN y=a XOR b;END xor2_arc;ARCHITECTURE nor2_arc OF example_v IS BEGIN y=NOT(a OR b);END nor2_arc;ARCHITECTURE nand2_arc OF example_v IS BEGIN y=NOT(a AND b);END nand2_arc;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录CONFIGURATION cfg3 OF example_v IS FOR nand2_arc END FOR;END cfg3;CONFIGURATION cfg2 OF example_v IS FOR or2_arc END FOR;END cfg2;CONFIGURATION cfg1 OF example_v IS FOR and2_arc END FOR;END cfg1;cfg1将与逻辑结构体配将与逻辑结构体配置给实体置给实体cfg2将或逻辑结构体配将或逻辑结构体配置给实体置给实体cfg3将与非逻辑结构体将与非逻辑结构体配置给实体配置给实体章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录CONFIGURATION cfg5 OF example_v IS FOR xor2_arc END FOR;END cfg5;在上例(在上例(example_v)中,有中,有5个不同的结构体,分个不同的结构体,分别用来完成二输入的逻辑与、或、与非、或非和逻辑异别用来完成二输入的逻辑与、或、与非、或非和逻辑异或的运算操作。或的运算操作。CONFIGURATION cfg4 OF example_v IS FOR nor2_arc END FOR;END cfg4;cfg4将与非逻辑结构体将与非逻辑结构体配置给实体配置给实体cfg5将异或逻辑结构体配将异或逻辑结构体配置给实体置给实体章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 在程序中使用了在程序中使用了5个默认配置语句来指明设计实体个默认配置语句来指明设计实体example_v和哪个结构体一起组成一个完整的设计和哪个结构体一起组成一个完整的设计,见程见程序过程中的标注。序过程中的标注。在进行模拟的时候,将根据所编译的是上面的哪个配在进行模拟的时候,将根据所编译的是上面的哪个配置来决定要进行模拟的结构体,也就是说最后一个被编置来决定要进行模拟的结构体,也就是说最后一个被编译的结构体(异或逻辑)将被模拟,下图就是异或逻辑译的结构体(异或逻辑)将被模拟,下图就是异或逻辑的仿真波形。的仿真波形。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 异或门仿真波形异或门仿真波形章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 结构体的配置主要是用来对结构体中引用的元件进行结构体的配置主要是用来对结构体中引用的元件进行配置。配置。结构体的配置的书写格式:结构体的配置的书写格式:FOR :USE ENTITY.;1.5.2 结构体的配置结构体的配置以以1位全加器的构成为例说明结构体的配置的用法位全加器的构成为例说明结构体的配置的用法:将两输入与门、将两输入与门、或门、异或门设置或门、异或门设置成通用例化元件由成通用例化元件由结构体引用。结构体引用。章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY and2_v IS PORT(a:IN STD_LOGIC;b:IN STD_LOGIC;y:OUT STD_LOGIC);END and2_v;二输入与门二输入与门 源代码:源代码:ARCHITECTURE and2_arc OF and2_v ISBEGIN y=a AND b;END and2_arc;CONFIGURATION and2_cfg OF and2_v IS FOR and2_arc END for;END and2_cfg;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 与门与门and2_v仿真波形仿真波形章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2_v IS PORT(a:IN STD_LOGIC;b:IN STD_LOGIC;y:OUT STD_LOGIC);END or2_v;二输入或门二输入或门 源代码:源代码:ARCHITECTURE or2_arc OF or2_v ISBEGIN y=a OR b;END or2_arc;CONFIGURATION or2_cfg OF or2_v IS FOR or2_arc END for;END or2_cfg;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 或门或门or2_v仿真波形仿真波形章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY xor2_v IS PORT(a:IN STD_LOGIC;b:IN STD_LOGIC;y:OUT STD_LOGIC);END xor2_v;异或门源代码:异或门源代码:ARCHITECTURE xor2_arc OF xor2_v ISBEGIN y=a XOR b;END xor2_arc;CONFIGURATION xor2_cfg OF xor2_v IS FOR xor2_arc END for;END xor2_cfg;章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录 异或门异或门xor2_v仿真波形仿真波形章目录章目录第一节第一节第二节第二节第三节第三节第四节第四节第五节第五节总总目录目录LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY add1_v IS PORT(A:IN STD_LOGIC;B:IN STD_LOGIC;Cin:IN STD_LOGIC;Co:OUT STD_LOGIC;S:OUT STD_LOGIC);END add1_v;全加器源代码:全加器源代码:ARCHITECTURE structure OF add1_v IS COMPONENT and2_v PORT(a:IN STD_LOGIC;b:IN STD_LOGIC;y:OUT STD_LOGIC);END COMPONENT;章目录章目录

    注意事项

    本文(《FPGA第一章》PPT课件.ppt)为本站会员(赵**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开