mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-30 19:22:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Verilog
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Verilog
		
	
	
	
	
	
| `default_nettype none
 | |
| module reversed_gate (clk, ctrl, din, sel, dout);
 | |
|    input wire clk;
 | |
|    input wire [4:0] ctrl;
 | |
|    input wire [15:0] din;
 | |
|    input wire [3:0]  sel;
 | |
|    output reg [31:0] dout;
 | |
|    always @(posedge clk)
 | |
|      case ((({(32)-((ctrl)*(sel))})+(1))-(2))
 | |
|        0:
 | |
|          dout[1:0] <= din;
 | |
|        1:
 | |
|          dout[2:1] <= din;
 | |
|        2:
 | |
|          dout[3:2] <= din;
 | |
|        3:
 | |
|          dout[4:3] <= din;
 | |
|        4:
 | |
|          dout[5:4] <= din;
 | |
|        5:
 | |
|          dout[6:5] <= din;
 | |
|        6:
 | |
|          dout[7:6] <= din;
 | |
|        7:
 | |
|          dout[8:7] <= din;
 | |
|        8:
 | |
|          dout[9:8] <= din;
 | |
|        9:
 | |
|          dout[10:9] <= din;
 | |
|        10:
 | |
|          dout[11:10] <= din;
 | |
|        11:
 | |
|          dout[12:11] <= din;
 | |
|        12:
 | |
|          dout[13:12] <= din;
 | |
|        13:
 | |
|          dout[14:13] <= din;
 | |
|        14:
 | |
|          dout[15:14] <= din;
 | |
|        15:
 | |
|          dout[16:15] <= din;
 | |
|        16:
 | |
|          dout[17:16] <= din;
 | |
|        17:
 | |
|          dout[18:17] <= din;
 | |
|        18:
 | |
|          dout[19:18] <= din;
 | |
|        19:
 | |
|          dout[20:19] <= din;
 | |
|        20:
 | |
|          dout[21:20] <= din;
 | |
|        21:
 | |
|          dout[22:21] <= din;
 | |
|        22:
 | |
|          dout[23:22] <= din;
 | |
|        23:
 | |
|          dout[24:23] <= din;
 | |
|        24:
 | |
|          dout[25:24] <= din;
 | |
|        25:
 | |
|          dout[26:25] <= din;
 | |
|        26:
 | |
|          dout[27:26] <= din;
 | |
|        27:
 | |
|          dout[28:27] <= din;
 | |
|        28:
 | |
|          dout[29:28] <= din;
 | |
|        29:
 | |
|          dout[30:29] <= din;
 | |
|        30:
 | |
|          dout[31:30] <= din;
 | |
|        31:
 | |
|          dout[31:31] <= din;
 | |
|      endcase
 | |
| endmodule
 |