Glossary
Analysis. Reading VHDL source files, checking them against the standard and adding their design units to libraries. The first phase of a run.
Analog row. A row of the wave view that draws a real, or a vector read as a number, as a line instead of a segment per value. See Analog rows.
Block (editor). A rectangle of text selected in columns, with Alt+drag or Alt+Shift and the arrow keys; typing and deleting act on every line of it. See Block editing.
Built-in library. A library that comes with JanusHDL and needs no analysis: std, ieee and the legacy arithmetic packages in ieee. Its sources are in the download's vhdl folder. See Built-in libraries.
Cache. A file in which --cache keeps the analysis of a list of files, loaded on the next run while no file changed. See Caching the analysis.
Compatibility mode. --compat: code the standard forbids but whose meaning is clear is reported as a warning and simulated as written, instead of stopping analysis. See Compatibility mode.
Cursor, second cursor. The vertical lines in the wave view at which values are read (A) and measured from (B). See Cursors, markers and measuring.
Delta cycle. A simulation cycle that does not advance time. Signal assignments made in one delta cycle take effect in the next. Messages show it as (delta n). See Determinism and races.
Design structure. What a waveform database records besides values: every process with its kind and place in the source, the signals it drives (and the lines that assign them) and the signals it reads. The insight panels use it.
Diagnostic. A message from analysis: an error or a warning, with its rule, place, help and LRM section. See Reading a message.
Driver. A process (or concurrent statement, or port connection) that assigns a signal. A resolved signal can have several.
Elaboration. Building the design hierarchy from the top level down: instances, generics, ports, signals and processes. The second phase of a run.
Exit level. The least severity of a report that makes jhdl exit with code 1 (--exit-level, default error).
Expression row. A row of the wave view whose value is computed from other signals, such as valid and ready. See Expression rows.
File list. A text file (.f) naming source files in analysis order, with library NAME lines choosing their libraries. See File lists.
Front end. One of the small programs in the compat folder that answer to the command names existing scripts call, and run them on JanusHDL. See Running existing scripts.
Group. A named row of the wave view that holds other rows, and can be closed and opened. See Groups.
Insight panels. The Why this value?, Dataflow and Delta cycles tabs, which explain a signal's value from the recording. See Insight panels.
Interpreter. The part of JanusHDL that runs VHDL directly. It is the reference: native code gives the same results.
Language server. jhdl-lsp: JanusHDL's analyzer for other editors, through the Language Server Protocol. See External editors and the language server.
Legacy arithmetic packages. std_logic_arith, std_logic_unsigned, std_logic_signed, std_logic_misc and the VHDL-93 std_logic_textio: packages that are not IEEE standards but that many designs use from library ieee. Built in.
LRM. The Language Reference Manual: the VHDL standard, IEEE Std 1076. Messages cite its sections as in IEEE 1076-2019.
Marker. A named point in time in the wave view, such as M1. See Cursors, markers and measuring.
Native code. Machine code that JanusHDL compiles from the parts of a design that qualify, as the simulation runs. On by default; --jit off turns it off. See Native code.
Process order. The order in which the processes of one simulation cycle run, which the standard leaves open. JanusHDL's is fixed; --order-seed chooses another. See Determinism and races.
Project, project file. A .jhdlproj file holding a design's sources with their libraries and VHDL versions, its top level, generics, stop time and options. See Projects.
Race. A testbench whose result depends on the process order: legal VHDL, whose result the standard leaves open. See Finding races.
Radix. How a vector's value is written in the wave view: binary, hexadecimal, decimal, ASCII, fixed or floating point, and so on. See Radixes.
Rule. The name of a kind of diagnostic, such as undeclared or unprotected-shared-variable, whose level can be set with --allow, --warn and --deny. See The rules.
Scope. A level of the design hierarchy: the top level, an instance, a block, a generate, a process or a package. The Hierarchy tab lists them.
Seed. The number N of --order-seed N, from which a process order is drawn.
Severity. The level of a report or assertion: note, warning, error or failure.
Split view. Two or more panes of the code editor showing files side by side, or the same file twice. See Split view.
State file. .jhdl/NAME.state beside a project: your layout, open files and last wave view of that project. Not for version control.
Stop level. The least severity of a report that stops the simulation (--stop-level, default failure).
Stop time. The time at which a run ends (--stop-time), whatever is still scheduled.
Tab window. A tab of the window moved into a window of its own, for another monitor. See Tab windows.
Time step. All the delta cycles at one simulation time.
Top level. The design unit that elaboration starts from: usually the testbench entity, or a configuration.
Typed file. A file of a file type other than text, such as file of integer. JanusHDL writes such files with a header that says what they hold; files of character are plain bytes. See Files the design reads and writes.
VCD. Value Change Dump, the text waveform format of IEEE 1364, read and written by many tools. See VCD files.
Waveform database. JanusHDL's own recording format (.jhw): compressed, written as the simulation runs, readable while it is written, with the design's structure and delta cycles. See Recording waveforms.
Wave setup. What the wave view shows (signals, radixes, colors, groups, cursors, markers, visible span), saved as a .wavesetup file. See Wave setup files.
Work library. The library that sources are analyzed into when no other is named: work. Inside a library's own files, work means that library.