Expand description
Quartus Prime reports as data: a compile’s flow, the resources it used, the slack of every clock, the retimer’s
limits, the router’s peak wire demand, and the resources and logic depth of every entity, read from the text
reports Quartus writes into a project’s output_files.
read gathers one compile into a Build: parse_flow over <rev>.flow.rpt (status, version, device,
start, and each phase’s elapsed time and peak memory), parse_summary over the fitter’s summary (ALMs,
registers, memory bits, RAM and DSP blocks as used over total), parse_synthesis over the synthesis report’s
resource estimate (with the fixed- and floating-point DSP split), parse_sta_summary over the timing summary
(every analysis of every clock), parse_retime over the retimer’s limit table, parse_wire_demand and
parse_processors over the fitter’s messages, parse_hold over the delay the router added for hold,
clock_nets over the control-signal and global-signal tables (a clock off every global network rides general
routing, its skew paid for in hold delay), and parse_hierarchy over the entity table, rolled up by
by_entity so a unit instantiated a thousand times reads as one line. A fit still running is read from its
plan and place reports. A report Quartus did not write (a synthesis-only run, a failed fit) is absent from the
build, never zero.
A number that does not parse is left out rather than read as zero: a malformed field is a missing field.
Structs§
- Build
- One compile, as its reports state it.
- Clock
Net - A net the fitter uses as a clock: its fan-out, and whether it rides a global network.
- Entity
Total - An entity’s instances, totalled over the outermost ones (an instance inside another instance of the same entity is already in its total).
- Estimate
- Synthesis’s estimate of a design’s resources.
- Evidence
- What a compile is judged by beyond its flow report, which a module that dies at startup leaves as the last one to finish wrote it.
- Flow
- A compile’s flow report.
- Hold
Delay - Routing delay the fitter added on one clock transfer to meet hold.
- Input
- A file a compile read, by its SHA-256.
- Ledger
- Every compile recorded, in recording order: the history every later build is priced from. Rows are written by
Ledger::recordfrom reports, never by hand. - Node
- One row of the entity table: totals of the node and everything under it.
- Partition
Estimate - A partition’s synthesis estimate: in a partial-reconfiguration build the static region and each persona apart.
- Phase
- One module of the flow: its elapsed wall time and its peak virtual memory (none for the total).
- Ratio
- Region
Usage - A Logic Lock region as the fitter left it: what was placed in it needs (ALMs after dense packing, logic registers, M20Ks, DSP blocks after dense merging) over what the region holds, and the rectangles it is, each its corners.
- Row
- One recorded compile: its name, when it was recorded, the inputs it was handed, its reports read, whether it passed, and the compile it resumed, when its job went on from another’s: the modules that compile ran and this job did not are that compile’s, judged in its row.
- Slack
- One timing analysis of one clock.
- Usage
- A fit’s resources as its summary states them.
- Verdict
- Whether a compile ran every module it runs to the end, every reason it did not, and the exit status and modules it was judged against (none when its flow report was all there was). Whether its timing closed is the slack’s to say, not the verdict’s.
- Wire
Demand - The router’s estimated peak demand for one kind of wire.
Enums§
- Quartus
Error - Why a compile’s reports could not be read.
Constants§
- ENTITY_
ROWS - How many entity totals a
Buildkeeps. - TOP_
ROWS - How many nodes of each partition’s top two levels a
Buildkeeps.
Functions§
- by_
entity - The entity table rolled up by entity, largest total ALUTs first.
- clock_
nets - The nets the
controlreport’s table uses as clocks (usageClock, not a clock’s enable or clear), each marked global when theglobalsreport’s fast-signal summary names it or the buffer the fitter inserted to put it on one (clk~FITTER_INSERTED_0); those off every global first, then by fan-out. - judge
- The verdict on
buildgivenevidence: it ran to the end when its flow report says Successful, every module the job runs is in that report, the flow exited 0, its log holds no failure line, and its report was written after the job started. - log_
failure - The first line of a Quartus log that says the flow failed: a fatal error, a module or shell that was unsuccessful, or the OFS build script’s own failure line.
- parse_
flow - A compile’s flow report.
- parse_
hierarchy - Every row of the entity table (“Resource Utilization by Entity”), depth from the node’s indentation.
- parse_
hold - The delay the router added to meet hold, a row a clock transfer (
Estimated Delay Added for Hold Timing Summary). - parse_
processors - The processors parallel compilation was allowed: the fitter’s message (“will use up to 8 processors”, “will use 24 of the 24 processors detected”), or its Parallel Compilation table.
- parse_
region_ usage - Every region of the fit report’s
Logic Lock Region Usage Summary, a column each. A region’s rectangles are separated by the table’s own;, so with one region the placement row’s every rectangle is its; with several, a region’s cell is read alone. - parse_
retime - The retimer’s limit table: each clock transfer and the reason it stopped.
- parse_
sta_ summary - A timing summary:
Type : <analysis> '<clock>',Slack,TNS,Cornera block. - parse_
summary - A
.fit.summary(or anyKey : valuesummary). - parse_
synthesis - Each partition’s synthesis resource usage summary, in report order.
- parse_
wire_ demand - The router’s headline peak demands (
Info (20215)), one a kind of wire, each once however often it is printed. - read
- One compile of
revision, read from its project’soutput_filesdirectory. - utc
secondssince the Unix epoch as an RFC 3339 UTC timestamp.- worst_
setup - The setup analysis with the least slack.