トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2022-9-27の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!AU200のROM化

ROM化のコマンドはAU50と同様に.

 write_cfgmem -force \
              -format mcs \
	      -size 128 \
	      -interface SPIx4 \
	      -loadbit {up 0x01002000 "top.bit" } \
	      -file "top.mcs"

でOK.

スクリプトでROMに書き込む場合は,↓のように.

 open_hw_manager
 connect_hw_server -allow_non_jtag
 open_hw_target
 current_hw_device [get_hw_devices xcu200_0]
 refresh_hw_device -update_hw_probes false [lindex [get_hw_devices xcu200_0] 0]
 
 create_hw_cfgmem -hw_device [lindex [get_hw_devices xcu200_0] 0] [lindex [get_cfgmem_parts {mt25qu01g-spi-x1_x2_x4}] 0]
 set_property PROGRAM.BLANK_CHECK  0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.ERASE  1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.CFG_PROGRAM  1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.VERIFY  1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.CHECKSUM  0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 refresh_hw_device [lindex [get_hw_devices xcu200_0] 0]
 
 set_property PROGRAM.ADDRESS_RANGE  {use_file} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.FILES [list "au200.mcs" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.PRM_FILE {} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.UNUSED_PIN_TERMINATION {pull-none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.BLANK_CHECK  0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.ERASE  1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.CFG_PROGRAM  1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.VERIFY  1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 set_property PROGRAM.CHECKSUM  0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 
 startgroup 
 create_hw_bitstream -hw_device [lindex [get_hw_devices xcu200_0] 0] [get_property PROGRAM.HW_CFGMEM_BITFILE [ lindex [get_hw_devices xcu200_0] 0]]
 program_hw_devices [lindex [get_hw_devices xcu200_0] 0]
 refresh_hw_device [lindex [get_hw_devices xcu200_0] 0]
 program_hw_cfgmem -hw_cfgmem [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xcu200_0] 0]]
 endgroup
 
 close_hw_target
 
 quit

bitファイル書くだけなら(環境変数BITFILEでターゲットを指定するなら)

 open_hw_manager
 connect_hw_server -allow_non_jtag
 open_hw_target
 current_hw_device [get_hw_devices xcu200_0]
 refresh_hw_device -update_hw_probes false [lindex [get_hw_devices xcu200_0] 0]
 set_property PROGRAM.FILE $::env(BITFILE) [get_hw_devices xcu200_0]
 program_hw_device [get_hw_devices xcu200_0]
 disconnect_hw_server localhost:3121
 close_hw_manager

とか.