mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 19:52:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			493 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			493 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
| 
 | |
| // test taken from aes_core from iwls2005
 | |
| 
 | |
| module aes_key_expand_128(clk, kld, key, wo_0, wo_1, wo_2, wo_3);
 | |
| 
 | |
| input		clk, kld;
 | |
| input	[15:0]	key;
 | |
| output	[3:0]	wo_0, wo_1, wo_2, wo_3;
 | |
| reg	[3:0]	w[3:0];
 | |
| 
 | |
| assign wo_0 = w[0];
 | |
| assign wo_1 = w[1];
 | |
| assign wo_2 = w[2];
 | |
| assign wo_3 = w[3];
 | |
| 
 | |
| always @(posedge clk) begin
 | |
| 	w[0] <= kld ? key[15:12] : w[0];
 | |
| 	w[1] <= kld ? key[11: 8] : w[0]^w[1];
 | |
| 	w[2] <= kld ? key[ 7: 4] : w[0]^w[1]^w[2];
 | |
| 	w[3] <= kld ? key[ 3: 0] : w[0]^w[1]^w[2]^w[3];
 | |
| end
 | |
| 
 | |
| endmodule
 | |
| 
 |