Open Device View (Placement and Floorplan) draws a built target's device with its placed cells, coloured by module (one or two levels) or by kind, at any zoom; level of detail keeps a full device fast.
State: not yet run against Vivado, Quartus or Libero. The view was tested on Project X-Ray's real xc7a50t tile grid with the example design at full size (3,021 cells on 18,055 tiles in about 1.2 s, with stand-in placement). Vivado is kit shipped; Quartus and Libero are modelled.
Vivado
- Grid, placement and routes come from the latest placed or routed checkpoint, through the Vivado design session.
- Routed nets: type a net name and press Enter to draw its route.
- Show Path on Device, in the Timing Analysis editor, highlights a path's cells and routes its nets; a selected cell lists the paths through it.
- Pblocks: Draw Region creates a Pblock; resize, assign cells, remove cells, change properties or delete it. Each change is written to the XDC (
create_pblock,add_cells_to_pblock,resize_pblock) after a confirmation that shows the exact lines, and checked in the open design. Members placed outside a Pblock are flagged.
The device view of an Artix-7 target: placement coloured by module and a Pblock
Quartus
Placement comes from quartus_sta. Logic Lock regions (Pro PLACE_REGION, Standard LL_* assignments) are read and written in the .qsf after you confirm. Quartus exports no listing of the device's blocks, so the view shows the X and Y coordinate grid with the placement and regions, not the device's blocks; the editor says so.
Before the first full fit, the view shows the I/O and PLLs where the periphery plan put them.
Quartus placement on its coordinate grid with a Logic Lock region
Libero
Placement is exported with export_fp_pdc; regions (define_region, assign_region) are read and written in the floorplan PDC. As for Quartus, the view shows a coordinate grid with regions, not the device's blocks.
Notes
- A region write whose save fails is reported.
- Some Tcl forms (
GRID_RANGES,get_cell_info -location,export_fp_pdc -mode {PDC_FULL_PLACEMENT}) come from search results; the kit checks them on a real install. Clock-region ranges are untested.