⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t2b.v

📁 温度码到二进制吗的转换的verilogHDL代码。
💻 V
字号:
module thermometer2binary(
	clk,
	a,
	c,
	d);
	input clk;
	input [15:0] a;
	output [3:0] c;
	output [3:0] d;
	
	wire [7:0] b;
	wire [3:0] c1;
	wire [3:0] d1;
	reg [3:0] c;
	reg [3:0] d;
	
	assign b[0] = ~(a[8]|~a[0]);
	assign b[1] = ~(a[9]|~a[1]);
	assign b[2] = ~(a[10]|~a[2]);
	assign b[3] = ~(a[11]|~a[3]);
	assign b[4] = ~(a[12]|~a[4]);
	assign b[5] = ~(a[13]|~a[5]);
	assign b[6] = ~(a[14]|~a[6]);
	assign b[7] = ~(a[15]|~a[7]);
	
	assign c1[3] = b[7];
	assign c1[2] = b[7]^b[3];
	assign c1[1] = (b[7]^b[5])|(b[3]^b[1]);
	assign c1[0] = (b[7]^b[6])|(b[5]^b[4])|(b[3]^b[2])|(b[1]^b[0]);
	
	assign d1[3] = ~((~a[15])&a[11]&a[3]|a[11]&a[7]&a[3]);
	assign d1[2] = ~((~a[14])&a[10]&a[2]|a[10]&a[6]&a[2]);
	assign d1[1] = ~((~a[13])&a[9]&a[1]|a[9]&a[5]&a[1]);
	assign d1[0] = ~((~a[12])&a[8]&a[0]|a[8]&a[4]&a[0]);
	
	always@(posedge clk)begin
		c[3:0] <= c1[3:0];
		d[3:0] <= d1[3:0];
	end
	
endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -