mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-03 21:09:12 +00:00 
			
		
		
		
	Add ice40 box files
This commit is contained in:
		
							parent
							
								
									ae2653c50f
								
							
						
					
					
						commit
						7980118d74
					
				
					 6 changed files with 27 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -28,6 +28,9 @@ $(eval $(call add_share_file,share/ice40,techlibs/ice40/cells_sim.v))
 | 
			
		|||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/latches_map.v))
 | 
			
		||||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/brams.txt))
 | 
			
		||||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/brams_map.v))
 | 
			
		||||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/cells.box))
 | 
			
		||||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/cells_box.v))
 | 
			
		||||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/lut.lut))
 | 
			
		||||
 | 
			
		||||
$(eval $(call add_gen_share_file,share/ice40,techlibs/ice40/brams_init1.vh))
 | 
			
		||||
$(eval $(call add_gen_share_file,share/ice40,techlibs/ice40/brams_init2.vh))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										6
									
								
								techlibs/ice40/cells.box
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								techlibs/ice40/cells.box
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
# NB: Inputs/Outputs must be ordered alphabetically
 | 
			
		||||
 | 
			
		||||
# Inputs: CI I0 I1
 | 
			
		||||
# Outputs: CO
 | 
			
		||||
SB_CARRY 1 1 3 1
 | 
			
		||||
126 259 231
 | 
			
		||||
							
								
								
									
										5
									
								
								techlibs/ice40/cells_box.v
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								techlibs/ice40/cells_box.v
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
(* abc_box_id = 1 *)
 | 
			
		||||
module SB_CARRY (output CO, input CI, I0, I1);
 | 
			
		||||
	assign CO = (I0 && I1) || ((I0 || I1) && CI);
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -881,6 +881,7 @@ module SB_WARMBOOT (
 | 
			
		|||
);
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
(* nomem2reg *)
 | 
			
		||||
module SB_SPRAM256KA (
 | 
			
		||||
	input [13:0] ADDRESS,
 | 
			
		||||
	input [15:0] DATAIN,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								techlibs/ice40/lut.lut
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								techlibs/ice40/lut.lut
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
1	1	316
 | 
			
		||||
2	1	316 379
 | 
			
		||||
3	1	316 379 400
 | 
			
		||||
4	1	316	379	400	449
 | 
			
		||||
| 
						 | 
				
			
			@ -316,7 +316,14 @@ struct SynthIce40Pass : public ScriptPass
 | 
			
		|||
				run("techmap -map +/gate2lut.v -D LUT_WIDTH=4", "(only if -noabc)");
 | 
			
		||||
			}
 | 
			
		||||
			if (!noabc) {
 | 
			
		||||
				run(abc + " -dress -lut 4", "(skip if -noabc)");
 | 
			
		||||
				if (abc == "abc9") {
 | 
			
		||||
					run("read_verilog +/ice40/cells_box.v");
 | 
			
		||||
					run("techmap -map +/techmap.v A:abc_box_id");
 | 
			
		||||
					run(abc + " -dress -lut +/ice40/lut.lut -box +/ice40/cells.box", "(skip if -noabc)");
 | 
			
		||||
					run("blackbox A:abc_box_id");
 | 
			
		||||
				}
 | 
			
		||||
				else
 | 
			
		||||
					run(abc + " -lut 4", "(skip if -noabc)");
 | 
			
		||||
			}
 | 
			
		||||
			run("clean");
 | 
			
		||||
			if (relut || help_mode) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue