VHDL主要描述语句_第1页
VHDL主要描述语句_第2页
VHDL主要描述语句_第3页
VHDL主要描述语句_第4页
VHDL主要描述语句_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Architecture rtltemp temp2; signal temp,temp2 ;beginPRS1:process(variable t1,t2;begin(ifl顺序描述语句( if case loop;end process;PRSn:process(variable t1,t2;begin顺序描述语句( if case loop;end process;并行描述语句1并行描述语句1;并行描述语句2;2011/6/132并行描述语句n;End rtl; VHDL 的主要描述语句并(进程语句(Process )并条件/选择信号代入构通用模块调用语句(元件例化)生顺序描述语句变

2、量赋值语句IF 语句CA LO 2011/6/133重点: 语句是并发执行or 顺序执行语 语 语句完成的功能 同 2011/6/134并发描述语句并 进并条件信号代入/选择信号代入2011/6/135进程PROCESS进程名:PROCESS (信号量1,信号量2.)BEGIN执行语句END PROCESS;使用process 的原则:结构体内部使用进程结构体内部可以有1个或多个进程存在完成某一独立逻辑功能,设计在同一个process 中2011/6/136进程进程执行的条件:Process 中有一个或者多个信号量称为敏感量敏感量的变化启动该process 的执行进程执行的方式:敏感量触发进程

3、,进入process 中;语句从上到下逐句执行一遍,当最后一个语句执行完毕后;下一次敏感量的变化返回到开始的process 语句中,等待下次敏感量的变化。2011/6/137进程进程中的客体:实体中定义的端口信号port 构造体中定义的信号量signal 进程中定义的变量variable 变量只有在进程中定义和使用,不能将信息带出该进程2011/6/138进程结构体内部的多个进程多个进程之间为多个进程之间,为并发执行关系多个之间可以通过信号量传递信息进程之间可以一边通信,一边并行同步执行2011/6/139进程进 描 信 用 PROCESS(CLK(BEGINIf ( clkevent and

4、 clk=1 then( 执行语句end if;End process;2011/6/1310并发信号代入代入语句:并发信号代入<=<=目的信号量<= 信号量表达式;使用原则:类型和位长度一致代入符号两边信号量的类型和位长度致操作符在Signal / Port 中定义的客体使用位置:进程内/进程外2011/6/1311并发信号代入代 代入语句在进程内:顺序语句形式出现代入语句在进程外:并发语句形式出现<=进程中使用代入语句 : 分为代入过程、代入处理过程代入过程只表示要进行赋值操作 代入过程:只表示要进行赋值操作; 代入处理:真正完成赋值;2011/6/1312条件信号

5、代入条件信号代入语句是并发描述语句根据不同条件将不同的表达式代入目标信号根据不同条件,将不同的表达式代入目标信号存在结构体内部,与PROCESS 为并行的关系<=11目的信号量< 表达式1 WHEN 条件1 ELSE表达式2 WHEN 条件2 ELSE33表达式3 WHEN 条件3 ELSE表达式;2011/6/1313选择信号代入选择信号代入语句是并发描述语句根据选择信号的值将不同的表达式代入目标信号根据选择信号的值,将不同的表达式代入目标信号存在结构体内部,与PROCESS 为并行的关系WITH 选择信号SELECT目的信号量<= 表达式1 WHEN 值1,2WHEN 表

6、达式2 WHEN 值2,表达式3 WHEN 值3,表达式n WHEN OTHERS;2011/6/1314 顺序描述语句顺变IF CA 语句LOOP 2011/6/1315顺序描述语句变 :=目的变量:= 表达式左边:变量右边:变量、信号、字符进程内部定义和使用只在程内部定义和使用 变 2011/6/1316IF 语句IF 语句: 进程内部使用IF THEN IF 条件THEN 条件N顺序处理语句;END IF顺序处理语句;ELSE ;只有一个程序执行分支顺序处理语句; END IF;只有个程序执行分支两条不同程序执行路径2011/6/1317IF 语句IF 条件1 THEN顺序处理语句ELS

7、IF 条件2 THEN顺序处理语句ELSIF 条件3 THEN顺序处理语句ELSIF .ELSE顺序处理语句END IF;多条不同程序执行路径2011/6/1318CASE 语句CASE 表达式ISWHEN 值=> 顺序处理语句顺序处语句WHEN 值|值|值=> 顺序处理语句WHEN 值TO 值=> 顺序处理语句WHEN OTHERS WHEN OTHERS => 顺序处理语句END CASE;Case 语句中的条件表达式的值必须举穷尽,不能重复,WHEN OTHERS 不能举穷尽的值用WHEN OTHERS项表示,不能省略判断表达式= 具体的数值,不能判断表达式其中的

8、某一位bit (用if 语句可以判断)每个分支后可执行多条处理语句2011/6/1319if 的区别if 和case 的区别:if 语句是有序的,先处理最起始的条件,如果不满足再处理下一条件(存在优先级的判断);case 语句是无序的,所有表达式值都是并行关系;if 语句是对条件的判断;case 语句是判断表达式与数值是否相等;2011/6/1320if 语句和条件代入语句区别if 语句在process 中使用,可生成锁存电路,完成时序逻辑功能;外使用完成条件代入语句在process 外使用,完成基本的组合逻辑;if 语句可以嵌套,条件代入语句不存在嵌套2011/6/1321LOOP 语句标号

9、:for 循环变量in 离散范围loop顺序处理语句;end loop p 标号;标号: while 条件loop顺序处理语句;end loop end loop 标号;1、循环变量的值在每次循环中都会发生变化离散范围:循环变量在循环过程中的取值范围2011/6/13222、离散范围:循环变量在循环过程中的取值范围LOOP 语句for i IN 1 to 9loop sum <=i +sum; sum i+ sum;end loop;for i IN 0 to 7loop temp := temp xora(i ;end loop; end loop;2011/6/1323结构描述语句构

10、 构造体结构描述,是在多层次的设计中,高层次设计模块调用低层次设计模块的描述方法。通用模块调用语句(元件例化)调用现成的逻辑模块生成语句产生多个相同的结构2011/6/1324GENERIC设计模块包括:外部端口、内部逻辑功能、模块的参数什么是设计模块的参数?参数的作用和目的是什么?用于不同层次设计模块之间的信息参数信息传递位矢量长度,数组的位长,器件延时等参数的传递为了使器件模块化通用化 为了使器件模块化、通用化、完成参数化的程序设计2011/6/1325GENERIC二选一选择器为例:输入输出数据的位宽,作为模块可变的参数ENTITY MUX ISGENERIC (WIDTH : inte

11、ger := 8);PORT (SEL :IN BIT;IN1, IN2: IN STD_LOGIC_VECTOR(WIDTH-1DOWNTO 0 ;Sout :OUT STD_LOGIC_VECTOR(WIDTH-1DOWNTO 0 ;END MUX ;在元件被调用时重新指定参数信息2011/6/1326GENERIC多位加法为例多位加法器为例:加数、被加数、求和位的数据宽度,作为模块参数entity add_g isgeneric (WIDTH:integer :=32; generic (WIDTH: integer := 32 ;port (cin : in stdlogic; _g

12、;a : in std_logic_vector (WIDTH-1 downto 0; b : in std_logic_vector (WIDTH-1downto 0; d l i (WIDTH 1d 0 sum : out std_logic_vector (WIDTH-1downto 0; cout : out std_logic;end add g ; end add_g ;在元件被调用时重新指定参数信息2011/6/1327元件说明语句在一个设计的结构体中可以调用其它已设计好的元件或模块,在调用之前要对这些模块或元件进行说明COMPONENT 元件名-调用元件指定GENERIC 参数

13、说明;-被调用元件参数映射PORT 端口列表;-被调用元件端口映射END COMPONENT;COMPONENT HALF_ADDERPORT(A, B :IN STD LOGIC; A, B : IN STD_LOGIC;SUM : OUT STD_LOGIC;C_OUT : OUT STD_LOGIC;2011/6/1328END COMPONENT;元件例化语句对在结构体中说明的元件进行例化调用该元件该语句将现成元件的端口信号映射成高层设计电路中的信号各元件之间,各模块之间的信号连接关系用portmap 语句来实现连接元件标号:元件名GENERIC MAP (参数)PORT MAP(信号,信号,.); AND2PORT MAP D1D2D3;u1:AND2 PORT MAP(D1, D2, D3); u2:AND2 PORT MAP(A => D1, B => D2, C => D3); 2011/6/1329元件说明和例化COMPONENT AND2元件说明PORT(A, B : IN BIT;C : OUT BIT);END COMPONENT;U0 : AND2PORT MA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论