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

📄 lineardecode.v

📁 无线通信FPGA设计-FPGA源码
💻 V
字号:
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date:    11:19:18 08/12/2007 
// Design Name: 
// Module Name:    lineardecode 
// Project Name: 
// Target Devices: 
// Tool versions: 
// Description: 
//
// Dependencies: 
//
// Revision: 
// Revision 0.01 - File Created
// Additional Comments: 
//
//////////////////////////////////////////////////////////////////////////////////
module lineardecode(reset, y, c);
input reset;
input [6:0] y;
output [6:0] c;

wire [2:0] s;
reg  [6:0] e;

assign s[0] = reset ? 0 : (y[5] ^ y[4] ^ y[3] ^y[0]);
assign s[1] = reset ? 0 : (y[6] ^ y[5] ^ y[4] ^y[1]);
assign s[2] = reset ? 0 : (y[6] ^ y[5] ^ y[3] ^y[2]);

always @(s[2:0] or reset) begin
	if(reset) 
		e = 0;
	else
	   case(s[2:0]) 
		  3'b000: e = 7'b0000_000;
		  3'b001: e = 7'b0000_001;
		  3'b010: e = 7'b0000_010;
		  3'b011: e = 7'b0000_100;
		  3'b100: e = 7'b0001_000;
		  3'b101: e = 7'b0010_000;
		  3'b110: e = 7'b0100_000;
		  3'b111: e = 7'b1000_000;	
        default: e = 7'b0000_000;		  
		endcase
end

assign c = reset ? 0 : y ^ e;

endmodule

⌨️ 快捷键说明

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