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

📄 ham_code1.v

📁 HAMMING CODE在偵錯及更正的原理實現
💻 V
字号:
`timescale 1ns/1ns                                                             
                                                                               
module Ham_Code_T (clk, rst, ,ack, datain, cout, dataout, req);                      
                                                                               
//input	signal                                                                 
input 		clk,rst;                                                       
input		ack;                                                           
input	[3:0]	datain;                                                        
                                                                               
//output signal                                                                
output	[3:0]	dataout;                                                     
output		req;                                                           
                                                                               
wire	[3:0]	dataout;                                                     
wire		req;                                                           
                                                                               
                                                   
                                                                               
reg		h1,h2,h3,h4,h5,h6,h7;                                          

wire 		c1 = datain[3] ^ datain [2] ^ datain [0];
wire		c2 = datain[3] ^ datain [1] ^ datain [0];
wire		c3 = datain[2] ^ datain [1] ^ datain [0];


assign 		cout = {c1,c2,c3};
                                                                               
always @(posedge clk or negedge rst)begin                                      
	if (~rst)                                                              
		begin                                                          
		h1 <= 'bx;                                                     
		h2 <= 'bx;                                                     
		h3 <= 'bx;                                                     
		h4 <= 'bx;                                                     
		h5 <= 'bx;                                                     
		h6 <= 'bx;                                                     
		h7 <= 'bx;                                                     
		end                                                            
	else                           
		begin                                        
	        {h1,h2,h3,h4,h5,h6,h7} = (ack)? {t1,t2,datain[3],t3,datain[2],datain[1],datain[0]}: 7'bx;                                           
		end                                                            
end                                                                            
                                                                               
//**********************************************************                   
//			req                                                    
//**********************************************************                   
                                                                               
reg	reqs;                                                                  
                                                                               
always @(posedge clk or negedge rst)begin                                      
	if  (~rst)                                                             
	reqs <= 1'b1;                                                          
	else                                                                   
	reqs <= ~ack;                                                          
end                                                                            
                                                                               
assign req = reqs;                                                             
                                                                               
assign dataout = {h3,h5,h6,h7};                                     
                                                                               
endmodule                                                                      
		                                                               

⌨️ 快捷键说明

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