文档详情

任务3 VHDL的赋值语句任务3 VHDL的赋值语句.ppt

发布:2018-04-23约4.44千字共27页下载文档
文本预览下载声明
任务3 掌握VHDL的基本功能描述语句 构造体结构图 并行语句 并行语句 各种并行语句在结构体中的执行是同步进行的,或者说是并行运行的,其执行方式与书写的顺序无关。 在执行中,并行语句之间可以有信息往来,也可以是互为独立、互不相关、异步运行的(如多时钟情况)。 每一并行语句内部的语句运行方式可以有两种不同的方式,即并行执行方式(如块语句)和顺序执行方式(如进程语句)。 构造体结构图 信号赋值语句 直接信号赋值语句 条件信号赋值语句 选择信号赋值语句 直接信号赋值语句 语法格式: VHDL支持所有的标准逻辑运算: AND, OR, NOT, XOR, XNOR, NAND 例:4 选 1 数据选择器 Architecture a of mux4_1 is Begin x = (a AND NOT(s(1)) AND NOT(s(0))) OR (b AND NOT(s(1)) AND s(0)) OR (c AND s(1) AND NOT(s(0))) OR (d AND s(1) AND s(0)) ; End a; Y=ab+ LIBRARY IEEE; --调用IEEE库 USE IEEE.STD_LOGIC_1164.ALL ENTITY logic IS ――实体说明,定义实体名为logic PORT( a,b,c,d:IN STD_LOGIC; ――输入端口说明 y :OUT STD_LOGIC); ――输出端口说明 END logic; ――定义a,b,c,d是输入端口信号,y是输出端口信号 ARCHITECTURE jia OF logic IS SIGNAL e, f: STD_LOGIC ; ――定义e、f是内部信号 BEGIN f ﹤﹦ a AND b; ――以下三条并行语句与顺序无关 y﹤﹦ f OR e; e﹤﹦ c XOR d; END jia; 条件信号赋值语句( When_Else ) 语法格式: When_Else语句举例(1) x = a when (s = “00”) else b when (s = “01”) else c when (s = “10”) else d ; 条件信号赋值语句( When_Else ) 根据指定条件对信号赋值,条件可以为任意逻辑表达式 根据条件出现的先后次序,ELSE子句有优先权(按顺序逐条测试条件) 最后一个 ELSE子句隐含了所有未列出的条件 每一子句的结尾没有标点,只有最后一句有分号 When_Else语句举例(2) j = w when (a = ‘1’) else x when (b = ‘1’) else y when (c = ‘1’) else z when (d = ‘1’) else ‘0’ ; 选择信号赋值语句(With_Select_When) 语法格式: With_Select_When语句举例(1) LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY cmpl_sig IS PORT ( a, b,c,d: IN STD_LOGIC; x : OUT STD_LOGIC); s: IN STD_LOGIC_VECTOR(1 downto 0); END cmpl_sig; ARCHITECTURE logic OF cmpl_sig IS BEGIN WITH s SELECT x =a WHEN “00”, b WHEN “01”, c WHEN “10”, d WHEN OTHERS; 选择信号赋值语句( With_Select_When ) 所有的“WHEN”子句必须是互斥的 一般用 “When Others”来处理未考虑到的情况 只有一个参考信号和赋值符 (=) 每一子句结尾是逗号,最后一句是分号 每个WHEN子句可以包含多个条件: With_Select_Then语句举例(2) WITH s SELECT x = a WHEN ”000” | “001” | “010”, b WHEN 101 | 111, c WHEN
显示全部
相似文档