补码 转换_三线8译码器有什么型号

补码 转换_三线8译码器有什么型号补码转换`timescale1ns/10psmoduledevice(a,a_comp);input[7:0]a;//括号要写在前面output[7:0]a_comp;wire[6:0]b;//按位取反的幅度位wire[7:0]y;//负数的补码assignb=~a[6:0];assigny[6:0]=b+1;//按位取反再加1assigny[7]=a[7];//符号位不变assigna_comp=a[7]?y:a;//二选一endmodulemodule

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

补码转换

`timescale 1ns/10ps

module device(a,a_comp);
input [7:0]a; //括号要写在前面
output[7:0]a_comp;
wire[6:0] b;//按位取反的幅度位
wire[7:0] y;//负数的补码
assign b=~a[6:0];
assign y[6:0]=b+1;//按位取反再加1
assign y[7]=a[7];//符号位不变
assign a_comp=a[7]?y:a;//二选一
endmodule



module device_tb;
reg[7:0] a_in;
wire[7:0] y_out;
device device(.a(a_in),.a_comp(y_out));
initial begin 
	a_in<=0;
	#3000 $stop;
end
always#10 a_in<=a_in+1;

endmodule

数码管

`timescale 1ns/10ps

module device(num,y);
input[3:0] num ;//输入
output[7:0] y;
	reg[7:0] y; //always 语句块里面赋值的变量需要是reg型
	always@(num)//三个为敏感变量,组合逻辑输入
	begin 
		case(num)
		4'd0: begin y<= 8'b00000000; end
		4'd1: begin y<= 8'b00000001; end
		4'd2: begin y<= 8'b00010001;end
		4'd3: begin y<= 8'b00100001;end
		4'd4: begin y<= 8'b10000001;end
		4'd5: begin y<= 8'b00001001;end
		4'd6: begin y<= 8'b00000101;end
		4'd7: begin y<= 8'b00000011;end
		4'd8: begin y<= 8'b00000111;end
		4'd9: begin y<= 8'b00111001;end
		default:begin y<= 8'b00111001;end
		endcase
	end 
endmodule


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192476.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号