eda课件第三章分析.pptVIP

  • 12
  • 0
  • 约2.91千字
  • 约 58页
  • 2021-03-29 发布于广东
  • 举报
VHDL语言描述系统硬件行为时,按语句执行顺序可以分为 (Sequential)描述语句和 Concurrent)描述语句。灵活运用这两类语句就可以正确地描述系统的并发行为和顺序行为。 例如,进程语句(Process Statement)是一个并发语句。在一个构造体内可以有几个进程语句同时存在,各进程语句是 执行的。但是,在进程内部所有语句应是 描述语句,也就是说,是按书写的顺序自上至下,一个语句一个语句地执行的。例如,IF 语句、LOOP语句等都属于此类顺序描述语句。;1、 顺序描述语句;2、 并发描述语句;3.4.1 信号代入语句;1、简单信号代入语句;1、简单信号代入语句(续);a. 一个进程:最后一次赋值有效 ;2、 条件信号代入语句;条件信号代入语句举例; 格式:;用选择信号代入语句实现四选一电路;4、 变量赋值语句;1)赋值方式的不同: 变量:= 表达式; 信号 = 表达式; 2)硬件实现的功能不同: 信号代表电路单元、功能模块间的互联,代表实际的硬件连线;变量代表暂存的临时数据。 3)有效范围的不同: 信号:程序包、实体、结构体;全局量。 变量:进程、子程序;局部量。 4)赋值行为的不同: 信号赋值 更新数值;变量赋值 更新数值;; 信号赋值: architecture rtl of sig is signal a,b : std_logic; -- 定义信号 begin process(a, b) begin a = b ; b = a ; end process ; end rtl ; ; 变量赋值: architecture rtl of var is begin process variable a,b:std_logic; -- 定义变量 begin a := b ; b := a ; end process ; end rtl; ;3.4.2 IF语句;1、IF语句的单选控制;D触发器的描述举例;2、IF语句的二选择控制;IF二选择控制举例;3、IF语句的多条件控制;IF语句多条件控制语句举例;;条件信号赋值语句与进程中的多选择 if 语句等价:;3.4.3 CASE语句;CASE语句中条件表达式的形式可以是: 1)一个值;2)多个值的逻辑“或”关系;3)一个取值范围;4)表示其它所有的缺省值(OTHERS)。 如: WHEN 值=顺序处理语句;---单个值 WHEN 值| 值| 值| … | 值|=顺序处理语句;--多个值的“或” WHEN 值 TO 值=顺序处理语句;-----一个取值范围 WHEN OTHERS=顺序处理语句;-----其它所有缺省值;CASE语句使用举例;1)分支条件的值必须在表达式的取值范围内。 2)两个分支条件不能重叠。 3)CASE语句执行时必须选中,且只能选中一个分支条件。 4)如果没有others分支条件存在,则分支条件必须覆盖表达式所有可能的值。 ;3.4.4 LOOP语句;1、FOR -LOOP循环;LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY parity_check IS PORT ( a: IN STD_LOGIC_VECTOR (7 DOWNTO 0); y: OUT STD_LOGIC); END parity_check ; ARCHITECTURE rtl OF parity_check IS BEGIN PROCESS( a ) VARIABLE tmp: STD_LOGIC; BEGIN tmp:= ‘0’; FOR i IN 0 TO 7 LOOP tmp:=tmp XOR a( i ); END LOOP; y=tmp; END PR

文档评论(0)

1亿VIP精品文档

相关文档