Skip to main content

Module quartus

Module quartus 

Source
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.
ClockNet
A net the fitter uses as a clock: its fan-out, and whether it rides a global network.
EntityTotal
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.
HoldDelay
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::record from reports, never by hand.
Node
One row of the entity table: totals of the node and everything under it.
PartitionEstimate
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
RegionUsage
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.
WireDemand
The router’s estimated peak demand for one kind of wire.

Enums§

QuartusError
Why a compile’s reports could not be read.

Constants§

ENTITY_ROWS
How many entity totals a Build keeps.
TOP_ROWS
How many nodes of each partition’s top two levels a Build keeps.

Functions§

by_entity
The entity table rolled up by entity, largest total ALUTs first.
clock_nets
The nets the control report’s table uses as clocks (usage Clock, not a clock’s enable or clear), each marked global when the globals report’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 build given evidence: 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, Corner a block.
parse_summary
A .fit.summary (or any Key : value summary).
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’s output_files directory.
utc
seconds since the Unix epoch as an RFC 3339 UTC timestamp.
worst_setup
The setup analysis with the least slack.