Programming the board
The Hardware view, hw_server, programming and verifying a device.
The Hardware view#
The Hardware view in the HDL Studio side bar talks to Vivado’s hw_server:
- Targets: the server with its version, the cable, and the devices with “programmed 12:06” and the XADC temperature and voltages, read when you refresh.
- Bitstreams: the
.bitand.ltxfiles of the work directory, with time and size. - Program log: what each programming run printed.
Without a server it offers Start local hw_server (hw_server -s tcp::3121 from the Vivado installation; it ends with the window) or Connect to remote server… (host:port, remembered for the workspace).
Programming#
HDL Studio: Program Device, the Program device button of the workspace dashboard, the program task, and hdl program all run the same script:
open_hw_manager
connect_hw_server -url localhost:3121
open_hw_target
current_hw_device [lindex [get_hw_devices] 0]
set_property PROGRAM.FILE "/p/.hdl-studio/vivado/blink.bit" [current_hw_device]
program_hw_devices
refresh_hw_device
puts "HDL-PROGRAMMED [get_property NAME [current_hw_device]]"
close_hw_manager- With a
.ltxbeside the bitstream,PROBES.FILEis set too. - With
hdl.vivado.verifyAfterProgram, orhdl program --verify, it fails unless the DONE pin (REGISTER.IR.BIT5_DONE) is 1. - Without a board it stops with “No hardware target on host:port”.
hdl program # <workDir>/vivado/<top>.bit on localhost:3121
hdl program --bit build/top.bit --host lab-pc:3121 --verify