VHDL的执行语句.pptVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VHDL的执行语句

VHDL的执行语句 并行语句/顺序语句 并行语句体现电路硬件的特点: 各元件/信号相互影响,同时发生变化; 顺序语句体现设计人员的思路: 现象的因果关系、局部与整体的关系; VHDL的并行语句 并行语句的种类有: 赋值类语句:数据流描述 (逻辑函数的运算) 元件类语句:结构描述 (逻辑符号的连接) 进程语句:行为描述 (电路功能的流程) 结构体中的任何执行语句都是并行语句; 并行语句的仿真特点 在仿真时刻零点开始执行; 在任一输入信号出现变化时开始执行; (在电路模块中,一次仿真只考虑一个输入变化引起的状态变化;仅当电路进入稳定状态后,才能进行下一个输入的变化。) 并行语句的仿真过程 仿真开始---执行全部并行语句(耗时?t),计算出所有的输出信号值,但在计算过程中不改变信号值; 执行完毕,根据执行结果为所有并行语句的输出信号赋值; 并行语句的仿真过程 赋值后,检查有没有导致任何语句的输入信号发生变化; 若有变化,则立即开始下一次执行; 继续上述过程直到电路进入稳定状态(没有输入信号再发生变化),本次仿真过程结束,等待下一次仿真时刻; VHDL中的数据流设计:信号赋值语句 以基本信号为基础,描述信号间的相互关系(函数关系); 也称为“寄存器传输描述方式” ; 信号赋值语句主要包括3种形式: 直接赋值、条件赋值、选择赋值。 直接赋值语句 信号名 = 信号值(表达式); 赋值语句将“=”右边的值赋给左边的信号;右边可以是直接常数、信号、表达式、函数; 赋值式双方应为相同类型; 直接赋值语句 每条赋值语句对应一个电路模块,右边信号为输入信号,左边信号为输出信号; 赋值号左边不能为端口输入信号,右边不能含有端口输出信号; 赋值号双方不能出现同一信号名; 在一个程序块中,应避免采用多条赋值语句为同一信号赋值; 直接赋值的例题程序 例:2-4译码器设计 library ieee;use ieee.std_logic_1164.all; entity kdecoder24 is port (a: in std_logic_vector (1 downto 0); f: out std_logic_vector (3 downto 0) ); end kdecoder24; ? architecture d of kdecoder24 is begin f(0) = not a(1) and not a(0); f(1) = not a(1) and a(0); f(2) = a(1) and not a(0);f(3) = a(1) and a(0); end d; 例:奇偶校验电路的设计 library ieee;use ieee.std_logic_1164.all; ? entity kparity is port (n: in std_logic_vector (3 downto 0); odd,even: out std_logic); end kparity; ? architecture rtl of kparity is signal oddi:std_logic; begin oddi = n(3) xor n(2) xor n(1) xor n(0); odd = oddi; even = not oddi; end rtl; 例:素数检测器的设计p.287(表4-53) library ieee; use ieee.std_logic_1164.all; ? entity prime is port (n: in std_logic_vector (3 downto 0); f: out std_logic); end prime; architecture rtl1 of prime is signal n3l_n0,n3l_n2l_n1,n2l_n1_n0 ,n2_n1l_n0:std_logic; begin n3l_n0 = not n(3) and n(0); n3l_n2l_n1 = not n(3) and not n(2) and n(1); n2l_n1_n0 = not n(2) and n(1) and n(0); n2_n1l_n0 = n(2) and not n(1) and n(0); f= n3l_n0 or n3l_n2l_n1 or n2l_n1_n0 or n2_n1l_n0; end rtl1; VHDL中的数据流设计:信号赋值语句 条件赋值语句:when/else 信号名=表达式1 when 布尔表达式1 else表达式2 when 布尔表达式2 …… else表达式n when 布尔表达式

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档