mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-30 11:12:29 +00:00 
			
		
		
		
	Sync yosys
This commit is contained in:
		
						commit
						5173e329ea
					
				
					 28 changed files with 201 additions and 1198 deletions
				
			
		|  | @ -7,12 +7,3 @@ stat | |||
| select -assert-count 9 t:MISTRAL_ALUT_ARITH | ||||
| select -assert-none t:MISTRAL_ALUT_ARITH %% t:* %D | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog ../common/add_sub.v | ||||
| hierarchy -top top | ||||
| equiv_opt -assert -map +/intel_alm/common/alm_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd top # Constrain all select calls below inside the top module | ||||
| stat | ||||
| select -assert-count 9 t:MISTRAL_ALUT_ARITH | ||||
| select -assert-none t:MISTRAL_ALUT_ARITH %% t:* %D | ||||
|  |  | |||
|  | @ -12,18 +12,6 @@ select -assert-count 1 t:MISTRAL_NOT | |||
| select -assert-none t:MISTRAL_FF t:MISTRAL_NOT %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top adff | ||||
| proc | ||||
| equiv_opt -async2sync -assert -map +/intel_alm/common/alm_sim.v -map +/intel_alm/common/dff_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd adff # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_FF | ||||
| select -assert-count 1 t:MISTRAL_NOT | ||||
| 
 | ||||
| select -assert-none t:MISTRAL_FF t:MISTRAL_NOT %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top adffn | ||||
| proc | ||||
|  | @ -35,17 +23,6 @@ select -assert-count 1 t:MISTRAL_FF | |||
| select -assert-none t:MISTRAL_FF %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top adffn | ||||
| proc | ||||
| equiv_opt -async2sync -assert -map +/intel_alm/common/alm_sim.v -map +/intel_alm/common/dff_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd adffn # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_FF | ||||
| 
 | ||||
| select -assert-none t:MISTRAL_FF %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top dffs | ||||
| proc | ||||
|  | @ -58,18 +35,6 @@ select -assert-count 1 t:MISTRAL_ALUT2 | |||
| select -assert-none t:MISTRAL_FF t:MISTRAL_ALUT2 %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top dffs | ||||
| proc | ||||
| equiv_opt -async2sync -assert -map +/intel_alm/common/alm_sim.v -map +/intel_alm/common/dff_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd dffs # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_FF | ||||
| select -assert-count 1 t:MISTRAL_ALUT2 | ||||
| 
 | ||||
| select -assert-none t:MISTRAL_FF t:MISTRAL_ALUT2 %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top ndffnr | ||||
| proc | ||||
|  | @ -81,14 +46,3 @@ select -assert-count 2 t:MISTRAL_NOT | |||
| 
 | ||||
| select -assert-none t:MISTRAL_FF t:MISTRAL_NOT %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top ndffnr | ||||
| proc | ||||
| equiv_opt -async2sync -assert -map +/intel_alm/common/alm_sim.v -map +/intel_alm/common/dff_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd ndffnr # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_FF | ||||
| select -assert-count 2 t:MISTRAL_NOT | ||||
| 
 | ||||
| select -assert-none t:MISTRAL_FF t:MISTRAL_NOT %% t:* %D | ||||
|  |  | |||
|  | @ -5,3 +5,4 @@ cd sync_ram_sdp | |||
| select -assert-count 1 t:MISTRAL_NOT | ||||
| select -assert-count 1 t:MISTRAL_M10K | ||||
| select -assert-none t:MISTRAL_NOT t:MISTRAL_M10K %% t:* %D | ||||
| 
 | ||||
|  |  | |||
|  | @ -11,17 +11,3 @@ select -assert-count 8 t:MISTRAL_ALUT_ARITH | |||
| select -assert-count 8 t:MISTRAL_FF | ||||
| select -assert-none t:MISTRAL_NOT t:MISTRAL_ALUT_ARITH t:MISTRAL_FF %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog ../common/counter.v | ||||
| hierarchy -top top | ||||
| proc | ||||
| flatten | ||||
| equiv_opt -assert -async2sync -map +/intel_alm/common/alm_sim.v -map +/intel_alm/common/dff_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd top # Constrain all select calls below inside the top module | ||||
| 
 | ||||
| select -assert-count 2 t:MISTRAL_NOT | ||||
| select -assert-count 8 t:MISTRAL_ALUT_ARITH | ||||
| select -assert-count 8 t:MISTRAL_FF | ||||
| select -assert-none t:MISTRAL_NOT t:MISTRAL_ALUT_ARITH t:MISTRAL_FF %% t:* %D | ||||
|  |  | |||
|  | @ -7,17 +7,6 @@ equiv_opt -async2sync -assert -map +/intel_alm/common/alm_sim.v -map +/intel_alm | |||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd dff # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_FF | ||||
| 
 | ||||
| select -assert-none t:MISTRAL_FF %% t:* %D | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top dff | ||||
| proc | ||||
| equiv_opt -async2sync -assert -map +/intel_alm/common/alm_sim.v -map +/intel_alm/common/dff_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd dff # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_FF | ||||
| 
 | ||||
| select -assert-none t:MISTRAL_FF %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
|  | @ -28,16 +17,5 @@ equiv_opt -async2sync -assert -map +/intel_alm/common/alm_sim.v -map +/intel_alm | |||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd dffe # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_FF | ||||
| 
 | ||||
| select -assert-none t:MISTRAL_FF %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top dffe | ||||
| proc | ||||
| equiv_opt -async2sync -assert -map +/intel_alm/common/alm_sim.v -map +/intel_alm/common/dff_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd dffe # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_FF | ||||
| 
 | ||||
| select -assert-none t:MISTRAL_FF %% t:* %D | ||||
|  |  | |||
|  | @ -20,25 +20,3 @@ select -assert-max 6 t:MISTRAL_ALUT5 # Clang returns 5, GCC returns 4 | |||
| select -assert-max 2 t:MISTRAL_ALUT6 # Clang returns 1, GCC returns 2 | ||||
| select -assert-none t:MISTRAL_FF t:MISTRAL_NOT t:MISTRAL_ALUT2 t:MISTRAL_ALUT3 t:MISTRAL_ALUT4 t:MISTRAL_ALUT5 t:MISTRAL_ALUT6 %% t:* %D | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog ../common/fsm.v | ||||
| hierarchy -top fsm | ||||
| proc | ||||
| flatten | ||||
| 
 | ||||
| equiv_opt -run :prove -map +/intel_alm/common/alm_sim.v -map +/intel_alm/common/dff_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf | ||||
| async2sync | ||||
| miter -equiv -make_assert -flatten gold gate miter | ||||
| sat -verify -prove-asserts -show-public -set-at 1 in_reset 1 -seq 20 -prove-skip 1 miter | ||||
| 
 | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd fsm # Constrain all select calls below inside the top module | ||||
| 
 | ||||
| select -assert-count 6 t:MISTRAL_FF | ||||
| select -assert-max 1 t:MISTRAL_NOT | ||||
| select -assert-max 2 t:MISTRAL_ALUT2 # Clang returns 2, GCC returns 1 | ||||
| select -assert-max 2 t:MISTRAL_ALUT3 # Clang returns 2, GCC returns 1 | ||||
| select -assert-max 2 t:MISTRAL_ALUT4 # Clang returns 0, GCC returns 1 | ||||
| select -assert-max 6 t:MISTRAL_ALUT5 # Clang returns 5, GCC returns 4 | ||||
| select -assert-max 2 t:MISTRAL_ALUT6 # Clang returns 1, GCC returns 2 | ||||
| select -assert-none t:MISTRAL_FF t:MISTRAL_NOT t:MISTRAL_ALUT2 t:MISTRAL_ALUT3 t:MISTRAL_ALUT4 t:MISTRAL_ALUT5 t:MISTRAL_ALUT6 %% t:* %D | ||||
|  |  | |||
|  | @ -10,16 +10,3 @@ select -assert-count 6 t:MISTRAL_ALUT2 | |||
| select -assert-count 2 t:MISTRAL_ALUT4 | ||||
| select -assert-none t:MISTRAL_NOT t:MISTRAL_ALUT2 t:MISTRAL_ALUT4 %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog ../common/logic.v | ||||
| hierarchy -top top | ||||
| proc | ||||
| equiv_opt -assert -map +/intel_alm/common/alm_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd top # Constrain all select calls below inside the top module | ||||
| 
 | ||||
| select -assert-count 1 t:MISTRAL_NOT | ||||
| select -assert-count 6 t:MISTRAL_ALUT2 | ||||
| select -assert-count 2 t:MISTRAL_ALUT4 | ||||
| select -assert-none t:MISTRAL_NOT t:MISTRAL_ALUT2 t:MISTRAL_ALUT4 %% t:* %D | ||||
|  | @ -37,3 +37,4 @@ select -assert-count 2 t:MISTRAL_ALUT2 | |||
| select -assert-count 8 t:MISTRAL_ALUT3 | ||||
| select -assert-count 8 t:MISTRAL_FF | ||||
| select -assert-none t:MISTRAL_ALUT2 t:MISTRAL_ALUT3 t:MISTRAL_FF t:MISTRAL_MLAB %% t:* %D | ||||
| 
 | ||||
|  |  | |||
|  | @ -9,8 +9,6 @@ cd top # Constrain all select calls below inside the top module | |||
| select -assert-count 1 t:MISTRAL_MUL9X9 | ||||
| select -assert-none t:MISTRAL_MUL9X9 %% t:* %D | ||||
| 
 | ||||
| # Cyclone 10 GX does not have 9x9 multipliers. | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog ../common/mul.v | ||||
| chparam -set X_WIDTH 17 -set Y_WIDTH 17 -set A_WIDTH 34 | ||||
|  | @ -23,18 +21,6 @@ cd top # Constrain all select calls below inside the top module | |||
| select -assert-count 1 t:MISTRAL_MUL18X18 | ||||
| select -assert-none t:MISTRAL_MUL18X18 %% t:* %D | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog ../common/mul.v | ||||
| chparam -set X_WIDTH 17 -set Y_WIDTH 17 -set A_WIDTH 34 | ||||
| hierarchy -top top | ||||
| proc | ||||
| equiv_opt -assert -map +/intel_alm/common/dsp_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd top # Constrain all select calls below inside the top module | ||||
| 
 | ||||
| select -assert-count 1 t:MISTRAL_MUL18X18 | ||||
| select -assert-none t:MISTRAL_MUL18X18 %% t:* %D | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog ../common/mul.v | ||||
| chparam -set X_WIDTH 26 -set Y_WIDTH 26 -set A_WIDTH 52 | ||||
|  | @ -47,14 +33,3 @@ cd top # Constrain all select calls below inside the top module | |||
| select -assert-count 1 t:MISTRAL_MUL27X27 | ||||
| select -assert-none t:MISTRAL_MUL27X27 %% t:* %D | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog ../common/mul.v | ||||
| chparam -set X_WIDTH 26 -set Y_WIDTH 26 -set A_WIDTH 52 | ||||
| hierarchy -top top | ||||
| proc | ||||
| equiv_opt -assert -map +/intel_alm/common/dsp_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd top # Constrain all select calls below inside the top module | ||||
| 
 | ||||
| select -assert-count 1 t:MISTRAL_MUL27X27 | ||||
| select -assert-none t:MISTRAL_MUL27X27 %% t:* %D | ||||
|  |  | |||
|  | @ -11,16 +11,6 @@ select -assert-count 1 t:MISTRAL_ALUT3 | |||
| select -assert-none t:MISTRAL_ALUT3 %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top mux2 | ||||
| proc | ||||
| equiv_opt -assert -map +/intel_alm/common/alm_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd mux2 # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_ALUT3 | ||||
| select -assert-none t:MISTRAL_ALUT3 %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top mux4 | ||||
| proc | ||||
|  | @ -31,16 +21,6 @@ select -assert-count 1 t:MISTRAL_ALUT6 | |||
| select -assert-none t:MISTRAL_ALUT6 %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top mux4 | ||||
| proc | ||||
| equiv_opt -assert -map +/intel_alm/common/alm_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd mux4 # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_ALUT6 | ||||
| select -assert-none t:MISTRAL_ALUT6 %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top mux8 | ||||
| proc | ||||
|  | @ -52,17 +32,6 @@ select -assert-count 2 t:MISTRAL_ALUT6 | |||
| select -assert-none t:MISTRAL_ALUT3 t:MISTRAL_ALUT6 %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top mux8 | ||||
| proc | ||||
| equiv_opt -assert -map +/intel_alm/common/alm_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd mux8 # Constrain all select calls below inside the top module | ||||
| select -assert-count 1 t:MISTRAL_ALUT3 | ||||
| select -assert-count 2 t:MISTRAL_ALUT6 | ||||
| select -assert-none t:MISTRAL_ALUT3 t:MISTRAL_ALUT6 %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top mux16 | ||||
| proc | ||||
|  | @ -74,15 +43,3 @@ select -assert-max 2 t:MISTRAL_ALUT5 | |||
| select -assert-max 5 t:MISTRAL_ALUT6 | ||||
| select -assert-none t:MISTRAL_ALUT3 t:MISTRAL_ALUT5 t:MISTRAL_ALUT6 %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -load read | ||||
| hierarchy -top mux16 | ||||
| proc | ||||
| equiv_opt -assert -map +/intel_alm/common/alm_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd mux16 # Constrain all select calls below inside the top module | ||||
| select -assert-max 1 t:MISTRAL_ALUT3 | ||||
| select -assert-max 2 t:MISTRAL_ALUT5 | ||||
| select -assert-max 5 t:MISTRAL_ALUT6 | ||||
| 
 | ||||
| select -assert-none t:MISTRAL_ALUT3 t:MISTRAL_ALUT5 t:MISTRAL_ALUT6 %% t:* %D | ||||
|  |  | |||
|  | @ -1,26 +0,0 @@ | |||
| read_verilog <<EOT | ||||
| // Verilog has syntax for raw identifiers, where you start it with \ and end it with a space. | ||||
| // This test crashes Quartus due to it parsing \a[10] as a wire slice and not a raw identifier. | ||||
| module top(); | ||||
|   (* keep *) wire [31:0] \a[10] ; | ||||
|   (* keep *) wire b; | ||||
|   assign b = \a[10] [31]; | ||||
| endmodule | ||||
| EOT | ||||
| 
 | ||||
| synth_intel_alm -family cyclonev -quartus | ||||
| select -assert-none w:*[* w:*]* | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog <<EOT | ||||
| // Verilog has syntax for raw identifiers, where you start it with \ and end it with a space. | ||||
| // This test crashes Quartus due to it parsing \a[10] as a wire slice and not a raw identifier. | ||||
| module top(); | ||||
|   (* keep *) wire [31:0] \a[10] ; | ||||
|   (* keep *) wire b; | ||||
|   assign b = \a[10] [31]; | ||||
| endmodule | ||||
| EOT | ||||
| 
 | ||||
| synth_intel_alm -family cyclone10gx -quartus -noiopad -noclkbuf | ||||
| select -assert-none w:*[* w:*]* | ||||
|  | @ -8,14 +8,3 @@ cd top # Constrain all select calls below inside the top module | |||
| select -assert-count 8 t:MISTRAL_FF | ||||
| select -assert-none t:MISTRAL_FF %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog ../common/shifter.v | ||||
| hierarchy -top top | ||||
| proc | ||||
| flatten | ||||
| equiv_opt -async2sync -assert -map +/intel_alm/common/alm_sim.v -map +/intel_alm/common/dff_sim.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # equivalency check | ||||
| design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) | ||||
| cd top # Constrain all select calls below inside the top module | ||||
| select -assert-count 8 t:MISTRAL_FF | ||||
| select -assert-none t:MISTRAL_FF %% t:* %D | ||||
|  |  | |||
|  | @ -11,17 +11,3 @@ cd tristate # Constrain all select calls below inside the top module | |||
| select -assert-count 1 t:$_TBUF_ | ||||
| select -assert-none t:$_TBUF_ %% t:* %D | ||||
| 
 | ||||
| 
 | ||||
| design -reset | ||||
| read_verilog ../common/tribuf.v | ||||
| hierarchy -top tristate | ||||
| proc | ||||
| tribuf | ||||
| flatten | ||||
| synth | ||||
| equiv_opt -assert -map +/simcells.v synth_intel_alm -family cyclone10gx -noiopad -noclkbuf # 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-none t:$_TBUF_ %% t:* %D | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue