mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Add iCE40 SB_SPRAM256KA simulation model
Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
		
							parent
							
								
									12440fcc8f
								
							
						
					
					
						commit
						51f1bbeeb0
					
				
					 1 changed files with 30 additions and 9 deletions
				
			
		|  | @ -920,19 +920,40 @@ parameter A_SIGNED = 1'b0; | |||
| parameter B_SIGNED = 1'b0; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module SB_SPRAM256KA( | ||||
| module SB_SPRAM256KA ( | ||||
| 	input [13:0] ADDRESS, | ||||
| 	input [15:0] DATAIN, | ||||
| 	input [3:0] MASKWREN, | ||||
| 	input WREN, | ||||
| 	input CHIPSELECT, | ||||
| 	input CLOCK, | ||||
| 	input STANDBY, | ||||
| 	input SLEEP, | ||||
| 	input POWEROFF, | ||||
| 	output [15:0] DATAOUT | ||||
| 	input WREN, CHIPSELECT, CLOCK, STANDBY, SLEEP, POWEROFF, | ||||
| 	output reg [15:0] DATAOUT | ||||
| ); | ||||
| `ifndef BLACKBOX | ||||
| 	reg [15:0] mem [0:16383]; | ||||
| 	wire off = SLEEP || !POWEROFF; | ||||
| 	integer i; | ||||
| 
 | ||||
| 	always @(negedge POWEROFF) begin | ||||
| 		for (i = 0; i <= 16383; i = i+1) | ||||
| 			mem[i] = 'bx; | ||||
| 	end | ||||
| 
 | ||||
| 	always @(posedge CLOCK, posedge off) begin | ||||
| 		if (off) begin | ||||
| 			DATAOUT <= 0; | ||||
| 		end else | ||||
| 		if (CHIPSELECT && !STANDBY && !WREN) begin | ||||
| 			DATAOUT <= mem[ADDRESS]; | ||||
| 		end else begin | ||||
| 			if (CHIPSELECT && !STANDBY && WREN) begin | ||||
| 				if (MASKWREN[0]) mem[ADDRESS][ 3: 0] = DATAIN[ 3: 0]; | ||||
| 				if (MASKWREN[1]) mem[ADDRESS][ 7: 4] = DATAIN[ 7: 4]; | ||||
| 				if (MASKWREN[2]) mem[ADDRESS][11: 8] = DATAIN[11: 8]; | ||||
| 				if (MASKWREN[3]) mem[ADDRESS][15:12] = DATAIN[15:12]; | ||||
| 			end | ||||
| 			DATAOUT <= 'bx; | ||||
| 		end | ||||
| 	end | ||||
| `endif | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue