4描述方式程序演示.docVIP

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

三种描述方式的比较 例:全加器(1位二进制数全加) 真值表 输入 输出 c_in x y c_out sum 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 一、采用行为描述方式设计的全加器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY full_adder IS PORT(x, y, c_in : IN STD_LOGIC; sum, c_out : OUT STD_LOGIC); END full_adder; ARCHITECTURE behav OF full_adder IS BEGIN PROCESS (x, y, c_in) VARIABLE n: INTEGER; CONSTANT sum_vector: STD_LOGIC_VECTOR (0 TO 3) := 0101; CONSTANT cout_vector: STD_LOGIC_VECTOR (0 TO 3) := 0011; BEGIN n := 0; IF x = 1 THEN n := n+1; END IF; IF y = 1 THEN n := n+1; END IF; IF c_in = 1 THEN n := n+1; END IF; sum = sum_vector (n); - - sum_vector初值为0101 c_out = cout_vector (n); - - cout_vector初值为0011 END PROCESS; END behav; 二、寄存器传输级描述/数据流描述 对于全加器,用布尔方程描述其逻辑功能如下: s = x y sum = s c_in c_out = x ? y + s ? c_in 下面是基于上述布尔方程的数据流风格的描述: 例:采用数据流描述方式的全加器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY full_adder IS PORT(x, y, c_in : IN STD_LOGIC; sum, c_out : OUT STD_LOGIC); END full_adder; ARCHITECTURE dataflow OF full_adder IS SIGNAL s: STD_LOGIC; BEGIN s = x XOR y; sum = s XOR c_in; c_out = (x AND y) OR ( s AND c_in); END dataflow; 三、结构描述方式 对于上图给出的全加器端口结构,可以认为它是由两个半加器和一个或门组成的。基于上图所示的结构,可以写出全加器的结构化描述设计程序如下。 例:结构化描述的全加器 先设计半加器half_adder LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY half_adder IS PORT(in1, in2: IN STD_LOGIC; sum, carry: OUT STD_LOGIC); END half_adder; ARCHITECTURE rtl OF half_adder IS BEGIN PROSESS (in1, in2) BEGIN sum = in1 XOR in2; carry = in1 AND in2; END PROCESS; END rtl; - -半加器设计完毕 2)再设计或

文档评论(0)

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

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

1亿VIP精品文档

相关文档