| yosys -import |
| if { [info procs getparam] == {} } { plugin -i params } |
| yosys -import ;# ingest plugin commands |
| |
| read_verilog $::env(DESIGN_TOP).v |
| read_verilog -specify -lib -D_EXPLICIT_CARRY +/xilinx/cells_sim.v |
| read_verilog -lib +/xilinx/cells_xtra.v |
| hierarchy -check -auto-top |
| |
| # Check phase parameter values on bith PLLE2_ADV instances |
| set reference_phase [list 90 70] |
| set phase [getparam CLKOUT2_PHASE top/PLLE2_ADV_0 top/PLLE2_ADV] |
| if {[llength $phase] != 2} { |
| error "Getparam should return a list with 2 elements" |
| } |
| set fp [open [test_output_path "pll.txt"] "w"] |
| puts -nonewline $fp "Phase before: " |
| if {$phase == $reference_phase} { |
| puts $fp "PASS" |
| } else { |
| puts $fp "FAIL: $phase != $reference_phase" |
| } |
| |
| # Modify the phase parameter value on one of the PLLE2_ADV instances |
| setparam -set CLKOUT2_PHASE [expr [lindex $phase 0] * 1000] top/PLLE2_ADV |
| |
| # Verify that the parameter has been correctly updated on the chosen instance |
| set reference_phase [list 90000 70] |
| set phase [getparam CLKOUT2_PHASE top/PLLE2_ADV_0 top/PLLE2_ADV] |
| puts -nonewline $fp "Phase after: " |
| if {$phase == $reference_phase} { |
| puts $fp "PASS" |
| } else { |
| puts $fp "FAIL: $phase != $reference_phase" |
| } |
| close $fp |
| |
| # Start flow after library reading |
| synth_xilinx -flatten -abc9 -nosrl -noclkbuf -nodsp -iopad -run prepare:check |
| |
| # Map Xilinx tech library to 7-series VPR tech library. |
| read_verilog -lib [file dirname $::env(DESIGN_TOP)]/techmaps/cells_sim.v |
| techmap -map [file dirname $::env(DESIGN_TOP)]/techmaps/cells_map.v |
| |
| # opt_expr -undriven makes sure all nets are driven, if only by the $undef |
| # net. |
| opt_expr -undriven |
| opt_clean |
| |
| setundef -zero -params |
| stat |
| |
| # Clean processes before writing JSON. |
| yosys proc |
| |
| # Write the design in JSON format. |
| write_json [test_output_path "pll.json"] |
| write_blif -attr -param -cname -conn [test_output_path "pll.eblif"] |