mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-30 19:22:31 +00:00 
			
		
		
		
	add tristate buffer and test
This commit is contained in:
		
							parent
							
								
									9517525224
								
							
						
					
					
						commit
						903f997391
					
				
					 3 changed files with 21 additions and 2 deletions
				
			
		|  | @ -302,6 +302,12 @@ module OBUF(output O, input I); | |||
| 	assign O = I; | ||||
| endmodule | ||||
| 
 | ||||
| module TBUF (O, I, OEN); | ||||
|   input I, OEN; | ||||
|   output O; | ||||
|   assign O = OEN ? I : 1'bz; | ||||
| endmodule | ||||
| 
 | ||||
| module GSR (input GSRI); | ||||
| 	wire GSRO = GSRI; | ||||
| endmodule | ||||
|  |  | |||
|  | @ -230,7 +230,7 @@ struct SynthGowinPass : public ScriptPass | |||
| 			run("techmap -map +/gowin/cells_map.v"); | ||||
| 			run("setundef -undriven -params -zero"); | ||||
| 			run("hilomap -singleton -hicell VCC V -locell GND G"); | ||||
| 			run("iopadmap -bits -inpad IBUF O:I -outpad OBUF I:O", "(unless -noiopads)"); | ||||
| 			run("iopadmap -bits -inpad IBUF O:I -outpad OBUF I:O, -toutpad TBUF OEN:I:O", "(unless -noiopads)"); | ||||
| 			run("dffinit  -ff DFF Q INIT"); | ||||
| 			run("clean"); | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										13
									
								
								tests/arch/gowin/tribuf.ys
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								tests/arch/gowin/tribuf.ys
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | |||
| read_verilog ../common/tribuf.v | ||||
| hierarchy -top tristate | ||||
| proc | ||||
| tribuf | ||||
| flatten | ||||
| synth | ||||
| equiv_opt -assert -map +/gowin/cells_sim.v -map +/simcells.v synth_gowin # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd tristate # Constrain all select calls below inside the top module | ||||
| #Internal cell type used. Need support it. | ||||
| select -assert-count 1 t:TBUF | ||||
| select -assert-count 2 t:IBUF | ||||
| select -assert-none t:TBUF t:IBUF %% t:* %D | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue