第四章VHDL主要描述语句详解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章VHDL主要描述语句详解

5.1 顺序语句 顺序描述语句: 执行顺序与书写顺序一致,与传统软件设计语言的特点相似。 顺序语句只能用在进程与子程序中。 可描述组合逻辑、时序逻辑。 举例:8位奇偶校验电路(for循环语句) 8位奇校验电路仿真结果: 将变量tmp的初值改为‘0’,则为偶校验电路: 3)while … loop 语句 例:sum:=0; i:=0; abcd: while (i10) loop sum:=sum+i; i:=i+1; end loop abcd; 注:循环变量 i 需事先定义、赋初值,并指定 其变化方式。一般综合工具不支持 while … loop 语句。 举例:8位奇偶校验电路(while语句) 一、 并行信号赋值语句 包括三种: 简单并行信号赋值; 条件信号赋值; 选择信号赋值。 共同特点: (1)赋值目标必须是信号,与其它并行语句同 时执行,与书写顺序及是否在块语句中无关。 (2)每一信号赋值语句等效于一个进程语句。 所有输入信号的变化都将启动该语句的执行。 等效: 不等效: 条件信号赋值语句与进程中的多选择 if 语句等价: 选择信号赋值语句与进程中的 case 语句等价: (3)如果有 wait 语句,则不允许有敏感信号表。 2、嵌套块 子块声明与父块声明的对象同名时,子块声明 将忽略掉父块声明。 3、卫式(Guarded)块 由保护表达式值的真、假决定块语句的执行与 否(综合不支持)。 四、并行过程调用语句 用过程名在结构体或块语句中可实现并行过 程调用。 其作用与一个进程等价。 格式: 过程名 [([参数名=] 表达式 {,[参数名=] 表达式})] 例:并行过程调用与串行过程调用 … procedure adder( signal a, b: in std_logic; signal sum: out std_logic); … adder(a1, b1, sum1); … process(c1, c2) begin adder(c1, c2, s1); end process; 五、元件声明及元件例化 1. 层次化设计 层次化设计的优点: 在一个设计组中,各个设计者可独立地以不同的设计文件设计不同的模块元件。 各个模块可以被其他设计者共享,或备以后使用。 层次设计可使系统设计模块化,便于移植,复用。 层次设计可使系统设计周期更短,更易实现。 一个低层次设计在被例化前必须有一个元件声明。 ENTITY exam is PORT( ea, eb :IN STD_LOGIC_VECTOR(3 DOWNTO 0); ey : OUT STD_LOGIC); END exam ; ARCHITECTURE exam_arch OF exam IS COMPONENT compare PORT( a : IN STD_LOGIC_VECTOR(3 DOWNTO 0); b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); y : OUT STD_LOGIC ); END COMPONENT; --元件声明 BEGIN u1 : compare PORT MAP ( ea, eb, ey) ; --元件例化 END exam_arch ; 举例:4位移位寄存器设计(用元件例化语句) LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY shifter IS PORT( din,clk: IN std_logic; dout: OUT std_logic); END shifter; ARCHITECTURE a OF shifter IS COMPONENT dff POR

文档评论(0)

ee88870 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档