Verilog学习笔记三(补码转换和七段译码逻辑设计)

文章展示了如何使用Verilog语言进行二进制补码转换的模块设计,包括正数和负数的补码表示。同时,提到了7段数码管译码器的相关内容。通过一个测试bench演示了补码转换的逻辑过程,并提供了波形图作为验证。

一、补码转换

 verilog代码:

//2023/3/28 lzp
//二进制补码转换
`timescale 1ns/10ps
module complement_transfer(b_num, b_complement_num);
input[7:0] b_num;
output[7:0] b_complement_num;

reg[7:0] b_complement_num;

always@(b_num) begin
    if(b_num[7] == 0) begin
        //正数补码与原码相同
        b_complement_num<=b_num;
    end
    else if(b_num[7] == 1) begin
        //负数补码为符号不变,其余按位取反加1
        b_complement_num[7]=b_num[7];
        b_complement_num[6:0]=~b_num[6:0]+1;
    end
end

endmodule

//二进制补码转换testbench
module complement_transfer_tb;
reg[7:0] B_num;
wire[7:0] B_complement_num;

complement_transfer complement_transfer(.b_num(B_num), .b_complement_num(B_complement_num));

initial begin
    B_num<=8'b00000001;
    #2;
    B_num<=8'b10000001;
    #2;
    $stop;
end

endmodule

波形图:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值