---
title: "Device view and floorplanning"
---

# Device view and floorplanning

The device view of a placed or routed design for Vivado, Quartus and Libero targets, with routes, timing paths on the device, and Pblocks, Logic Lock regions and Libero regions drawn and written to the constraints.

**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](https://neuralinverse.com/docs-images/modules/hdl/device-view-vivado.webp)

## 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](https://neuralinverse.com/docs/modules/hdl/io-planning/#quartus-periphery-plan) put them.

![Quartus placement on its coordinate grid with a Logic Lock region](https://neuralinverse.com/docs-images/modules/hdl/device-view-quartus-logic-lock.webp)

## 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.
