yosys/docs/source/code_examples/macc/macc_xilinx_test.ys

54 lines
1.8 KiB
Plaintext

# ============================================================================
# part a
read_verilog macc_xilinx_test.v
read_verilog -lib -icells macc_xilinx_unwrap_map.v
read_verilog -lib -icells macc_xilinx_xmap.v
hierarchy -check ;;
# end part a
show -prefix macc_xilinx_test1a -format dot -notitle test1
show -prefix macc_xilinx_test2a -format dot -notitle test2
# ============================================================================
# part b
techmap -map macc_xilinx_swap_map.v;;
# end part b
show -prefix macc_xilinx_test1b -format dot -notitle test1
show -prefix macc_xilinx_test2b -format dot -notitle test2
# ============================================================================
# part c
techmap -map macc_xilinx_wrap_map.v
connwrappers -unsigned $__mul_wrapper Y Y_WIDTH \
-unsigned $__add_wrapper Y Y_WIDTH;;
# end part c
show -prefix macc_xilinx_test1c -format dot -notitle test1
show -prefix macc_xilinx_test2c -format dot -notitle test2
# ============================================================================
# part d
design -push
read_verilog macc_xilinx_xmap.v
techmap -map macc_xilinx_swap_map.v
techmap -map macc_xilinx_wrap_map.v;;
design -save __macc_xilinx_xmap
design -pop
extract -constports -ignore_parameters \
-map %__macc_xilinx_xmap \
-swap $__add_wrapper A,B ;;
# end part d
show -prefix macc_xilinx_test1d -format dot -notitle test1
show -prefix macc_xilinx_test2d -format dot -notitle test2
# ============================================================================
# part e
techmap -map macc_xilinx_unwrap_map.v;;
# end part e
show -prefix macc_xilinx_test1e -format dot -notitle test1
show -prefix macc_xilinx_test2e -format dot -notitle test2
design -load __macc_xilinx_xmap
show -prefix macc_xilinx_xmap -format dot -notitle