| # For some tests the equiv_induct pass seems to hang if opt_expr + opt_clean | 
 | # are not invoked after techmapping. Therefore this function is used instead | 
 | # of the equiv_opt pass. | 
 | proc check_equiv {top} { | 
 |     hierarchy -top ${top} | 
 |  | 
 |     design -save preopt | 
 |     synth_quicklogic -family qlf_k6n10f -top ${top} | 
 |     design -stash postopt | 
 |  | 
 |     design -copy-from preopt  -as gold A:top | 
 |     design -copy-from postopt -as gate A:top | 
 |  | 
 |     techmap -wb -autoproc -map +/quicklogic/qlf_k6n10f/cells_sim.v | 
 |     yosys proc | 
 |     opt_expr | 
 |     opt_clean -purge | 
 |  | 
 |     async2sync | 
 |     equiv_make gold gate equiv | 
 |     equiv_induct equiv | 
 |     equiv_status -assert equiv | 
 |  | 
 |     return | 
 | } | 
 |  | 
 | yosys -import | 
 | if { [info procs quicklogic_eqn] == {} } { plugin -i ql-qlf} | 
 | yosys -import  ;# ingest plugin commands | 
 |  | 
 | read_verilog dsp_macc.v | 
 | design -save read | 
 |  | 
 | set TOP "macc_simple" | 
 | design -load read | 
 | hierarchy -top $TOP | 
 | check_equiv $TOP | 
 | design -load postopt | 
 | yosys cd $TOP | 
 | select -assert-count 1 t:QL_DSP2_MULTACC | 
 | select -assert-count 1 t:* | 
 |  | 
 | set TOP "macc_simple_clr" | 
 | design -load read | 
 | hierarchy -top $TOP | 
 | check_equiv $TOP | 
 | design -load postopt | 
 | yosys cd $TOP | 
 | select -assert-count 1 t:QL_DSP2_MULTACC | 
 | select -assert-count 1 t:* | 
 |  | 
 | set TOP "macc_simple_arst" | 
 | design -load read | 
 | hierarchy -top $TOP | 
 | check_equiv $TOP | 
 | design -load postopt | 
 | yosys cd $TOP | 
 | select -assert-count 1 t:QL_DSP2_MULTACC | 
 | select -assert-count 1 t:* | 
 |  | 
 | set TOP "macc_simple_ena" | 
 | design -load read | 
 | hierarchy -top $TOP | 
 | check_equiv $TOP | 
 | design -load postopt | 
 | yosys cd $TOP | 
 | select -assert-count 1 t:QL_DSP2_MULTACC | 
 | select -assert-count 1 t:* | 
 |  | 
 | set TOP "macc_simple_arst_clr_ena" | 
 | design -load read | 
 | hierarchy -top $TOP | 
 | check_equiv $TOP | 
 | design -load postopt | 
 | yosys cd $TOP | 
 | select -assert-count 1 t:QL_DSP2_MULTACC | 
 | select -assert-count 1 t:* | 
 |  | 
 | set TOP "macc_simple_preacc" | 
 | design -load read | 
 | hierarchy -top $TOP | 
 | check_equiv $TOP | 
 | design -load postopt | 
 | yosys cd $TOP | 
 | select -assert-count 1 t:QL_DSP2_MULTADD | 
 | select -assert-count 1 t:* | 
 |  | 
 | set TOP "macc_simple_preacc_clr" | 
 | design -load read | 
 | hierarchy -top $TOP | 
 | check_equiv $TOP | 
 | design -load postopt | 
 | yosys cd $TOP | 
 | select -assert-count 1 t:QL_DSP2_MULTADD | 
 | select -assert-count 1 t:* | 
 |  |