mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 19:52:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			550 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			550 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
| 
 | |
| module test01(a, b, x, y, z);
 | |
| 
 | |
| input [7:0] a;
 | |
| input [2:0] b;
 | |
| output [7:0] x, y;
 | |
| output z;
 | |
| 
 | |
| assign x = a >> b;
 | |
| assign y = a[b+7:b];
 | |
| assign z = a[b];
 | |
| 
 | |
| endmodule
 | |
| 
 | |
| module test02(clk, a, b, x, y, z);
 | |
| 
 | |
| input clk;
 | |
| input [7:0] a;
 | |
| input [2:0] b;
 | |
| output reg [7:0] x, y;
 | |
| output reg z;
 | |
| 
 | |
| always @(posedge clk) begin
 | |
| 	x <= a >> b;
 | |
| 	y <= a[b+7:b];
 | |
| 	z <= a[b];
 | |
| end
 | |
| 
 | |
| endmodule
 | |
| 
 | |
| module test03(clk, a, b, x, y);
 | |
| 
 | |
| input clk;
 | |
| input [2:0] a, b;
 | |
| output reg [7:0] x;
 | |
| output reg [9:0] y;
 | |
| 
 | |
| always @(posedge clk)
 | |
| 	y[b] <= a;
 | |
| 
 | |
| always @(posedge clk)
 | |
| 	y[b+2:b] <= a;
 | |
| 
 | |
| endmodule
 | |
| 
 |