




已阅读5页,还剩77页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA技术 VHDL行为与结构描述 1 VHDL 的行为描述与结构描述 Deeper at behavioral descriptions Behavioral and Structural Descriptions in VHDL How to write structural descriptions An important of VHDL , the process We will study : 进一步学习行为描述 如何进行结构描述 一个VHDL重要特征:进程 2 5.1 An example :an adder 加法器例子 It is a general principle of VHDL design that as far as possible, the human designer shoud work at a high level, and leave the low level detail of the circuits to the constructed by the synthesis tool. VHDL程序设计的基 本原则就是尽可能地 使设计者进行顶层设 计,而将底层具体电 路的设计留给逻辑综 合工具生成。 sum x,y(2)=y,carry(2)=cin, sum(2)=sum,carry(3)=cout); c3: entity work.fulladd(simple) PORT MAP (x(3),y(3),carry(3),sum(3)=sum,cout=coun); END ARCHITECTURE structural; Continued 位置关联 名子关联 混合关联 26 VHDL结构描述 5.3 Structural VHDL 2. Placing library components into a design 设计中的库元件调用 Each of the components that we have used is defined by a statement provding a lable for the component the keyword ENTITY the full name of the gate the keword PORT MAP a list of the wires that are connected to the and output of the gate 每个被调用元件都可由包括 下列各项的语句来定义: 元件标号名 关键字 ENTITY 被调元件的全称 关键字PORT MAP 元件的输入输出连线表 这种语句称为元件例化 (an instantiation) 27 语法9: 元件调用语句 格式: 例化名:ENTITY 库名.实体名(结构体名) PORT MAP ( 端口名= 连接端口名,); 例化名必须存在,相当于当前电路的一个插座名。 ENTITY 库名.实体名(结构体名) 定义了调用元件的具体路径。 PORT MAP端口映射,说明调用元件和本实体的信号关系。 即任何一用户设计的实体,无论功能多复杂都可标准化成一个元件。 现在EDA工程中,把复杂的模块程序称为软核(softcore或IP core), 调试仿真通过的集成电路版图称为硬核,把简单的通用模块称为元件。 它放在结构体中直接应用。 并行 语句类语法 VHDL结构描述 5.3 Structural VHDL 28 VHDL结构描述 5.3 Structural VHDL 3. Positional association How do the VHDL tools know which of the wires connected to c0 are inputs and which are outputs? c0: entity work.fulladd(simple) PORT MAP(x(0),y(0),cin,sum(0),carry(1); If we compare the instantiation with the definition of the full adder VHDL 工具是怎么知道 连接到c0的是那些输入 和输出。 如果我们对照这个例化 和一位全加器的定义 位置关联 29 ENTITY fulladd IS PORT ( x, y, cin: IN STD_LOGIC; sum, cout: OUT STD_LOGIC); END ENTITY fulladd; We see that the first three signals in the port map are inputs and the last two are outputs. So the first three signals in the instantiation x(0), y(0) and cin will be attached to the inputs x, y and cin. Similarly, sum(0) will be connected to sum and carry(1) will be connected to cout. This is called positional association. 我们看端口映射图中前 三个信号是输入端口, 后两个是输出。 这样,例化中前三个信 号x(0)、 y(0) 、 cin 将 被关联到元件的输入x, y 和 cin。 以此类推 sum(0)连接到 sum carry(1)连接到 cout 这就是位置关联 c0: entity work.fulladd(simple) PORT MAP(x(0),y(0),cin,sum(0),carry(1); 30 VHDL结构描述 5.3 Structural VHDL 4. Named association Alternatively, we can explicitly say which wire is connected to which input or output of the instantiated component. c0: entity work.fulladd(simple) PORT MAP (x=x(0), y=y(0), cin=cin, sum=sum(0), cout=carry(1); This is called named association. With named association, the order doesnt matter. 名称关联 另一种方法,就是将已经存 于库中的现成元件的各个的 名称分别赋予设计电路中元 件的输入和输出信号。 这种映射的方法称为名 称映射法。用名称关联 与(书写)顺序无关。 31 结构体描述法结构体描述法 2 2: 结构化结构化描述法 在结构体中,通过调用库中元件(例化),实现模 块化描述电路结构的方法。 无论功能多么复杂,都可以标准化成一个元件。无论功能多么复杂,都可以标准化成一个元件。 多层次设计的每个层次都可以作为一个元件,再构成一个模块或多层次设计的每个层次都可以作为一个元件,再构成一个模块或 构成一个系统,每个元件可以分别仿真,然后再整体调试。构成一个系统,每个元件可以分别仿真,然后再整体调试。 对于一个复杂的电子系统,可以分解成许多子系统,子系统再分对于一个复杂的电子系统,可以分解成许多子系统,子系统再分 解成模块。多层次设计可以使设计多人协作,并行同时进行。解成模块。多层次设计可以使设计多人协作,并行同时进行。 结构化描述不仅是一个设计方法,而且是一种设计思想,是大型结构化描述不仅是一个设计方法,而且是一种设计思想,是大型 电子系统设计高层主管人员必须掌握的。电子系统设计高层主管人员必须掌握的。 结构体描述法 VHDL结构描述 5.3 Structural VHDL 32 语法10: 端口映射语句 格式:例化名 : 元件名 PORT MAP ( 端口名= 连接端口名, ); 作用:调用 “元件名” 这元件到本电路中,并命名为“标号名”。并 说明其引脚和本电路信号的关系。 用来实现各模块之间、各元件之间的信号连接关系映射。 其中元件名应是事先通过COMPONENT语句声明例化的,或元件 名指定了元件所在的库、实体 、和结构体并用ENTITY引导如: ENTITY 库名.实体名(结构体名) 即是 元件调用语句 并行 语句类语法 元件的 端口名 调用的元件在本 电路中的名称 本电路的 端口名 具体的标 准元件 VHDL结构描述 5.3 Structural VHDL 有3种关联 方式 33 VHDL结构描述 5.3 Structural VHDL 补1. 元件例化语句 作用与元件调用类似,是先定义某预先设计好的实体为 一个元件,然后在利用端口映射语句将此元件例化,说明元 件的例化名和当前电路信号的连接关系。 这种形式的元件例化,在对某元件多次调用时要方便。 元件例化语句分两部分组成: 第一部分:对一现成实体定 义为一个元件。相当于对一 个现成的设计实体进行封装 ,只留出对外的接口界面。 注意:这部分必须放在结构体的ARCHITETURE和BEGIN之间 COMPONENT 元件名 IS GENERIC(类属表) PORT(端口名表) END COMPONENT 34 VHDL结构描述 5.3 Structural VHDL 补1. 元件例化语句 第二部分:将定义好的元件调用,进行端口映射,说明调 用后和与当前设计实体中元件间及端口的连接关系 例化名 : 元件名 PORT MAP ( 端口名= 连接端口名, ); 注意:这部分必须放在结构体中,可以多次使用(如电路中可 使用多个加法器等电路) 同样有位置关联、名子关联、混合关联 这两部分必须同时存在。 35 语法11: 元件例化语句 格式: COMPONENT 元件名 IS GENERIC(类属表) PORT(端口名表) END COMPONENT 例化名:元件名 PORT MAP ( 端口名= 连接端口名,); 类属表可列出端口的数据类型和参数, MAX+PLUSII不支持。 PORT MAP端口映射,说明调用元件和本实体的信号关系。 并行 语句类语法 VHDL结构描述 5.3 Structural VHDL 在结构 体中 在 ARCHITETURE 和BEGIN之间 36 VHDL结构描述 5.3 Structural VHDL USE work.fulladd.all -包集合的打开 ARCHITECTURE structural OF adder IS COMPONENT fulladd IS PORT ( x, y, cin: IN STD_LOGIC; sum, cout: OUT STD_LOGIC); END COMPONENT SIGNAL carry: STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN c0: fulladd PORT MAP (x(0),y(0),cin,sum(0),carry(1); c1: fulladd PORT MAP (x(1),y(1),carry(1),sum(1),carry(2); c2: fulladd PORT MAP (x(2)=x,y(2)=y,carry(2)=cin, sum(2)=sum,carry(3)=cout); c3: fulladd PORT MAP (x(3),y(3),carry(3),sum(3)=sum,cout=coun); END ARCHITECTURE structural; 用例化语句,则我们前面的结构描述可变为: 37 课堂练习 n采用元件例化,调用4位全加器,设计8 位全加器, 4位全加器实体说明如下: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY adder IS PORT ( x, y: IN STD_LOGIC_VECTOR(3 DOWNTO 0); cin: IN STD_LOGIC; sum: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); cout: OUT STD_LOGIC); END ENTITY adder; 38 课堂练习-参考答案 nLIBRARY ieee; nUSE ieee.std_logic_1164.ALL; nENTITY adder8 IS n PORT ( x, y: IN STD_LOGIC_VECTOR (7 DOWNTO 0); n Cin: IN STD_LOGIC; n Sum: OUT STD_LOGIC_VECTOR (7 DOWNTO 0); n cout: OUT STD_LOGIC ); nEND ENTITY adder8; 39 nARCHITECTURE structural OF adder IS n COMPONENT adder IS n PORT ( x, y: IN STD_LOGIC_VECTOR(3 DOWNTO 0); n Cin: IN STD_LOGIC; n Sum: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); n Cout: OUT STD_LOGIC ); END COMPONENT; n SIGNAL carry: STD_LOGIC; nBEGIN uc0: adder PORT MAP (x =x ( 3 downto 0), y = y (3 downto 0),cin = Cin, sum=Sum(3 downto 0), Cout = carry ); uc1: adder PORT MAP (x =x ( 7 downto 4), y = y (7 downto 4), cin = carry, sum=Sum(7 downto 4), Cout = Cout ); nEND ARCHITECTURE structural; 40 进程 5.4 Processes 前面所讲结构描述法是类似原理图模 式的电路结构描述,数据流描述是类似真值 表的组合逻辑描述方法,如果要实现“沿触沿触 发发”的概念,即由信号的变化触发信号的变化触发某电路的 工作过程,就是进程。 这个信号对进程来说就是敏感信号。 这可实现有时间(拍)的路径概念,和同步。 41 进程 5.4 Processes 1. Sensitivity lists ARCHITECTURE simple OF fulladd IS -1 BEGIN -2 cout ELSIF (条件2) THEN 。 ELSIF (条件n) THEN ELSE END IF; 格式1:IF (条件) THEN END IF; 用于门 闩控制 格式2:IF (条件) THEN ELSE END IF; 用于 2选1 控制 用多 选控 制 VHDL的顺序描述 与并行描述 5.5 Sequential and concurrent VHDL IF语句指明的条件是布尔量,即“真”(true)和“假”(false), 所以条件表达式中只能用逻辑运算符和关系运算符。 IFIF语句是有序的,先语句是有序的,先 处理最起始、最优先处理最起始、最优先 的条件,后处理次优的条件,后处理次优 先的条件。先的条件。 64 VHDL的顺序描述 与并行描述 5.5 Sequential and concurrent VHDL LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY dff1 IS PORT (clk, d: IN STD_LOGIC; q: OUT STD_LOGIC); END ENTITY dff1; ARCHITECTURE structure OF dff1 IS BEGIN PROCESS (clk) BEGIN IF ( clkevent and clk=1 ) THEN q = y = y = y = y 顺序处理语; WHEN 选择值 | 选择值 = 顺序处理语; WHEN OTHERS = 顺序处理语; END CASE VHDL的顺序描述 与并行描述 5.5 Sequential and concurrent VHDL (1) CASE语句是无序的,所有表达式值 都并行处理。 (2) 选择值必须枚举穷尽,不能重复。 (3) 不能穷尽的选择值用OTHERS表示 。如STD_LOGIC等类型时有 “X” “H” “L” “W” “U”等,不可能穷举 。 选择值可有四种不同的表达 (1)单个普通数值,如 4; (2)数值选择范围,如 (2 to 4) (3)并列数值,如 3 | 5 (4) 以上三种方式混合 73 VHDL的顺序描述 与并行描述 5.5 Sequential and concurrent VHDL library ieee; use ieee.std_logic_1164.all; ENTITY muX4 IS PORT(a,b,d0,dl,d2,d3: IN STD_LOGIC; q: OUT STD_LOGIC); END muX4; 例:用CASE语句设计四选一电路 MUX 4 to 1 d0 d1 d2 d3 a b q 根据选择信号a b,从4 路输入数据中选择一个 ,接至输出q。 74 VHDL的顺序描述 与并行描述 5.5 Sequential and concurrent VHDL ARCHITECTURE example_case OF muX4 IS SIGNAL sel: INTEGER RANGE 0 TO 3; BEGIN PROCESS (a,b,d0,dl,d2,d3) BEGIN Sel q q q q = d3; END CASE; END PROCESS; END ARCHITECTURE example_case; 例:用CASE语句设计四选一电路(续) 此例有误,不可用信号 为何没 用 OTHERS ? 75 结构体描述法结构体描述法 3 3: 行为行为描述法 (behavioral description)对实体按算法的路径来描述的 方法。和高级编程语言类似,所以又称高级描述。 用顺序执行结构体的行为描述时,可为实体设计一组状态时序机用顺序执行结构体的行为描述时,可为实体设计一组状态时序机 制,不需要互连表,无需关注实体的电路组织和门级实现,完全制,不需要互连表,无需关注实体的电路组织和门级实现,完全 由由EDAEDA综合生成,只需注意综合生成,只需注意正确的实体行为正确的实体行为、准确的函数模准确的函数模 型型和和精确的输出结果精确的输出结果。 结构体描述法 VHDL的顺序描述 与并行描述 5.5 Sequ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训学校市场管理制度
- 小梁电气安装方案(3篇)
- 水罐彩绘改造方案(3篇)
- 引流接待方案模板(3篇)
- 灌溉水池浇筑方案(3篇)
- 煤矿尽职调查方案(3篇)
- 信息收集考核方案(3篇)
- 内部创业公司管理制度
- 法式住宅改造方案(3篇)
- 商铺线路铺设方案(3篇)
- 苏教版三下第十单元期末复习教材分析
- 机械通气基础知识及基础操作课件
- 打印版医师执业注册健康体检表(新版)
- 老年痴呆护理
- 1.3.1动量守恒定律课件(共13张PPT)
- DB36_T 420-2019 江西省工业企业主要产品用水定额(高清无水印-可复制)
- 中小学教育惩戒规则(试行)全文解读ppt课件
- TCECS 850-2021 住宅厨房空气污染控制通风设计标准
- 布鲁克纳操作手册
- 印度尼西亚煤炭购销合同
- GB∕T 25119-2021 轨道交通 机车车辆电子装置
评论
0/150
提交评论