EDA技术(VHDL和FPGA)课件4 VHDL设计进阶-VHDL基本语句2020.pptxVIP

  • 1
  • 0
  • 约4.99千字
  • 约 49页
  • 2023-11-20 发布于广东
  • 举报

EDA技术(VHDL和FPGA)课件4 VHDL设计进阶-VHDL基本语句2020.pptx

4.1 并行语句(Concurrent Statements); ARCHITECTURE 结构体名OF 实体名IS 说明语句 BEGIN 并行语句 END ARCHITECTURE 结构体名 ;并行语句说明;1.简单信号赋值语句;2.选择信号赋值语句 ( With_Select_When )语法格式:; 所有的“WHEN”子句必须是互斥的 一般用“When Others”来处理未考虑到的情况 每一子句结尾是逗号,最后一句是分号;signal_name = 表达式1 WHEN 赋值条件1 ELSE 表达式2 WHEN 赋值条件2 ELSE ... 表达式n WHEN 赋值条件n ELSE 表达式;;根据指定条件对信号赋值,条件可以为任意逻辑表达式。 根据条件出现的先后次序,ELSE子句有优先权(按优先顺序逐条测试条件) 最后一个 ELSE子句隐含了所有未列出的条件 每一子句结尾没有标点,只有最后一句有“;”;4.1.2 进程语句;进程语句说明; [进程名称:] PROCESS(敏感信号1,敏感信号,……) [声明区] BEGIN 顺序语句 END PROCESS [进程名称];;3.进程工作原理;4.进程与时钟;5.进程实例;元件例化就是将以前设计的实体当作本次设计的一个元件,并且用VHDL语言将元件之间的连接关系描述出来。元件例化是原理图输入的文本形式,包括两部分 1.元件定义:将现成的实体定义为 本设计的元件 2.元件映射:描述元件的连接关系,在结构体BEGIN和END之间 ;举例:应用元件例化语句描述全加器,由半加器和或门构成的全加器设计实现。 底层设计或门VHDL描述; 底层设计半加器VHDL描述 ;顶层设计全加器,由半加器和或门构成的全加器; SIGNAL d,e,f:STD_LOGIC; --定义3各个信号为内部连接 BEGIN u1 : h_adder PORT MAP(a=ain, b=bin, co=d, so=e);--例化语句 u2 : h_adder PORT MAP(a=e, b=cin, co=f, so=sum); u3 : or2a PORT MAP(a=d, b=f, c=cout); END fd1;;4.2 顺序语句(Sequential Statements);4.2.1 赋值语句 信号赋值语句 变量赋值语句 1.信号赋值语句在进程与子程序之外是并行语句,在进程与子程序之内则为顺序语句。变量赋值语句只存在进程与子程序中。 2.进程中,信号的赋值并不是立即发生,它发生在进程结束时;而变量是立即赋值. 4.2.2流程控制语句 1.IF语句 2.CASE语句 3.LOOP循环语句 4.空操作语句 ;IF 条件句 Then 顺序语句 END IF;;格式1:判断条件式是否成立。若条件成立,则执行THEN与END IF之间的顺序语句;若条件不成立,则跳过不执行,IF语句结束。 格式2:判断条件式是否成立。若条件成立,则执行THEN与END IF之间的顺序语句;若条件不成立,则执行ELSE与END IF之间的顺序语句。 格式3:自上而下逐一判断条件式是否成立。若条件成立,则执行相应的顺序语句,并不再判断其他条件式,直接结束IF语句的执行。其执行流程与WHEN-ELSE相似。用于具有优先级的条件判断,如果判断条件无优先级,建议采用CASE语句。 ;此描述的典型电路是二选一电路: architecture rtl of mux2 is begin process(a, b, sel) begin if (sel = ‘1’) then y = a ; else y = b ; end if ; end process ; end rtl ;;典型电路是多选一(四选一)电路。; if_then_elsif 语句中隐含了优先级别的判断,最先出现的条件优先级最高,可用于设计具有优先级的电路。如8-3优先级编码器。 library ieee; use ieee.std_logic_1164.all; entity coder is port(input: in std_logic_vector(7 downto 0); output: out std

文档评论(0)

1亿VIP精品文档

相关文档