当前位置: 首页 > news >正文

做网站推广每天加班哈尔滨网站制作软件

做网站推广每天加班,哈尔滨网站制作软件,网站建设分金手指专业十二,重庆做网站推广的公司一,半加器 定义 半加器(Half Adder)是一种用于执行二进制数相加的简单逻辑电路。它可以将两个输入位的和(Sum)和进位(Carry)计算出来。 半加器有两个输入:A 和 B,分别代表…

一,半加器

  1. 定义
    半加器(Half Adder)是一种用于执行二进制数相加的简单逻辑电路。它可以将两个输入位的和(Sum)和进位(Carry)计算出来。
    半加器有两个输入:A 和 B,分别代表要相加的两个二进制位。它的输出由两个部分组成:
    1.和(Sum):表示 A + B 的个位数结果。
    2.进位(Carry):表示 A + B 的十位数结果是否需要进位到下一位。

  2. 真值表
    在这里插入图片描述

  3. 逻辑表达式
    根据真值表可知,当 A 和 B 的输入都为 0 时,Sum 和 Carry 均为 0;当 A 和 B 的输入中有一个为 1 时,Sum 为 1,Carry 为 0;当 A 和 B 的输入都为 1 时,Sum 为 0,Carry 为 1。所以其逻辑表达式为:
    Sum = A ^ B
    Carry = A & B

  4. 逻辑电路

在这里插入图片描述

  1. Verilog代码实现
module half_adder(input   wire        a_in    ,input   wire        b_in    ,   output  wire         count   ,//进位output  wire         sum      //半加和数
);assign count = a_in & b_in;
assign sum   =  a_in ^ b_in;// assign = {count,sum} = a_in + b_in ;
endmodule
  1. tb文件
`timescale 1ns/1ns
module tb_half_adder();reg     in_a;
reg     in_b;
wire    count;
wire    sum;initial beginin_a = 0;in_b = 0;#10;repeat(100)beginin_a =($random);in_b =($random);#10;end#10;$stop;
endhalf_adder u_half_adder(.a_in    (in_a),.b_in    (in_b),   .count   (count),//进位.sum     (sum) //半加和数
);endmodule
  1. 仿真波形
    在这里插入图片描述

二,全加器

  1. 定义
    全加器(Full Adder)是一种用于执行二进制数相加的数字逻辑电路。与半加器相比,全加器能够处理两个输入位之间的进位,从而实现多位二进制数的相加运算。
    一个全加器有三个输入:A、B 和进位(Carry-In,通常用Cin表示),代表要相加的两个二进制位和上一位的进位。它的输出由两部分组成:
    1.和(Sum):表示 A + B + Cin 的个位数结果。
    2.进位(Carry-Out,通常用Cout表示):表示 A + B + Cin 的十位数结果是否需要进位到下一位。
  2. 真值表
    在这里插入图片描述
  3. 逻辑表达式
    全加器的逻辑表达式可以通过使用逻辑门(AND、XOR)来表示。以下是全加器的逻辑表达式:
    Sum = A ^ B ^ Cin
    Cout = (A ^ B)&Cin + A&B
  4. 逻辑电路(这里借用一下别人的图阿里嘎多)

在这里插入图片描述
由两个半加器组成全加器
在这里插入图片描述

  1. Verilog代码
module full_adder(input   wire    a_in,input   wire    b_in,input   wire    c_in,output  wire    count,output  wire    sum
);// reg  count_r;
// reg  sum_r;assign sum = a_in ^ b_in ^ c_in;
assign count = (a_in ^ b_in)&c_in | a_in&b_in;//{count , sum} = a_in + b_in + c_in
endmodule
  1. tb文件
module full_adder(input   wire    a_in,input   wire    b_in,input   wire    c_in,output  wire    count,output  wire    sum
);// reg  count_r;
// reg  sum_r;assign sum = a_in ^ b_in ^ c_in;
assign count = (a_in ^ b_in)&c_in | a_in&b_in;//{count , sum} = a_in + b_in + c_in
endmodule
  1. 仿真波形
    在这里插入图片描述

三,多位全加器

  1. 个人理解
    对于多位全加器我的理解是,相当于多位数的每一位都是一个全加器,所以对于多位全加器,就是相当于是多个全加器的连接。
  2. verilog代码实现(generate)
module N_adder #(parameter N = 2) (input       [N-1:0] a_in,input       [N-1:0] b_in,input               cin,output      [N-1:0] sum,output              count
);wire  [N:0]    c;genvar i;
generatefor (i = 0;i<N ; i=i+1) begin : adder_full_nfull_adder     full_adder_inst (.a_in   (a_in[i]),.b_in   (b_in[i]),.c_in    (c[i]),.sum    (sum[i]),.count  (c[i+1])
);end
endgenerateassign c[0] = cin;
assign count = c[N];endmodule
  1. tb文件
`timescale 1ns/1ns
module N_adder_tb ();
parameter N = 5;
reg         [N-1:0] a_in;
reg         [N-1:0] b_in;
reg                 cin;
wire        [N-1:0] sum;
wire                count;initial begincin = 1'b0;#5;repeat(20)begina_in =($random)%5;b_in =($random)%5;#(5);end#(10)$stop;
end
N_adder #(.N(N)) N_adder_inst (.a_in   (a_in),.b_in   (b_in),.cin    (cin),.sum    (sum),.count  (count)
);
endmodule
  1. 仿真波形
    在这里插入图片描述

四,总结

对于全加器,还是比较好理解的,主要是对组合逻辑的考察和理解,只要对组合逻辑有一定的理解我相信全加器还是比较好理解的。

http://www.hrbkazy.com/news/42798.html

相关文章:

  • 微商产品做网站免费外链网站
  • 石家庄网站模板建站热点军事新闻
  • css3 特效网站免费十八种禁用网站
  • 汽车网站制作seo搜索引擎优化兴盛优选
  • 微信网站怎么写搜索引擎优化核心
  • php网站开发说明文档济南网站seo哪家公司好
  • 用vue-cli做的网站网站制作的基本流程是什么
  • wordpress clean options抖音seo怎么做的
  • 策划网络营销活动方案seo怎么收费
  • 在线客服免费咨询seo优化费用
  • 贵州网站制作品牌公司今天新闻摘抄十条
  • 国家企业信用信息查询官网系统百度广告优化师
  • 做食品那些网站好seo教程排名第一
  • 万达网站建设seo快速推广窍门大公开
  • 有做装修效果图赚钱的网站吗广告免费发布信息
  • 网站建设多长时间网站代运营价格
  • 广州做网站那家好口碑营销渠道
  • 网站建设厌倦微信营销平台哪个好
  • wamp建设网站大致步骤公司网站推广
  • 网站开发 高级认证搜狗优化排名
  • 淄博做网站推广哪家好广告联盟平台自动赚钱
  • 网站内容被攻击该怎么做seo优化排名软件
  • 做设计一般用什么素材网站软文新闻发稿平台
  • 如何验证网站济南网站优化排名
  • 网站品牌词如何优化长沙seo计费管理
  • 外贸网站建设注意今天重大新闻事件
  • 太湖网站建设帮平台做推广怎么赚钱
  • 建筑网站网页设计google搜索首页
  • 武汉网站维护制作免费b站推广入口2023
  • 武汉模板网站制作seo页面代码优化