Skip to content

Supported Features

nexsim supports a focused subset of VHDL for behavioral simulation. This page is the definitive reference for what works today.

FeatureSupported
Entity declarations with portsYes
Architecture bodiesYes
Component instantiation (hierarchical designs)Yes
Port maps with named associationYes
library ieee; use ieee.std_logic_1164.all;Yes
Generics and constantsNo
Configuration declarationsNo
Generate statementsNo
Block statementsNo
User-defined packagesNo
TypeSupported
std_logicYes
std_logic_vector (with downto and to)Yes
bitYes
booleanYes
integerYes
Records and custom typesNo
Multidimensional arraysNo
Physical types (beyond time)No
Subtypes and aliasesNo
FeatureSupported
Concurrent signal assignmentsYes
Process (with sensitivity list)Yes
Process (with wait for)Yes
if / elsif / elseYes
case / when / othersYes
Signal assignmentsYes
Component instantiationYes
VariablesNo
for / while loopsNo
assert / reportNo
Functions and proceduresNo
null, return, next, exitNo
OperatorSupported
and, or, nand, nor, xor, xnor, notYes
=, /=Yes
& (concatenation)Yes
Indexing: signal(i)Yes
Slicing: signal(a downto b)Yes
+, -, *, /, mod, remNo
<, <=, >, >=No
Shift/rotate (sll, srl, etc.)No
Type conversionsNo
LiteralSupported
'0', '1' (bit/std_logic)Yes
"10101010" (binary vector)Yes
x"FF" (hex vector)Yes
Integer (42)Yes
Octal, based, real/floatNo
FeatureSupported
wait for time delaysYes
Delta-cycle simulationYes
Event-driven schedulingYes
Time units: ns, us, msYes
wait on / wait untilNo
after clausesNo
Transport vs inertial delayNo
FeatureSupported
Port modes: in, out, inoutYes
Signal initial valuesYes
Hierarchical signal resolutionYes
BuffersNo
Guarded / resolved signalsNo
LibrarySupported
ieee.std_logic_1164Yes
ieee.numeric_stdNo
User-defined packagesNo