• Enforces stricter rules, in particular strongly typed, less permissive and error-prone
• Initialization of RAM components in the HDL source code is easier (Verilog initial blocks are less convenient)
• Package support
• Custom types
• Enumerated types
• No reg versus wire confusion