Search.setIndex({"docnames": ["developer/getting_started", "developer/glossary", "developer/guide/cadpli/cadpli", "developer/guide/index", "developer/guide/ivl/attributes", "developer/guide/ivl/index", "developer/guide/ivl/ivl_target", "developer/guide/ivl/lpm", "developer/guide/ivl/netlist", "developer/guide/ivl/t-dll", "developer/guide/misc/ieee1364-notes", "developer/guide/misc/index", "developer/guide/misc/swift", "developer/guide/misc/xilinx-hint", "developer/guide/tgt-vvp/tgt-vvp", "developer/guide/vpi/index", "developer/guide/vpi/va_math", "developer/guide/vpi/vpi", "developer/guide/vvp/debug", "developer/guide/vvp/index", "developer/guide/vvp/opcodes", "developer/guide/vvp/vpi", "developer/guide/vvp/vthread", "developer/guide/vvp/vvp", "developer/index", "developer/regression_tests", "developer/version_stamps", "index", "targets/index", "targets/tgt-blif", "targets/tgt-fpga", "targets/tgt-null", "targets/tgt-pal", "targets/tgt-pcb", "targets/tgt-sizer", "targets/tgt-stub", "targets/tgt-verilog", "targets/tgt-vhdl", "targets/tgt-vlog95", "targets/tgt-vvp", "usage/command_files", "usage/command_line_flags", "usage/getting_started", "usage/gtkwave", "usage/icarus_verilog_extensions", "usage/icarus_verilog_quirks", "usage/index", "usage/installation", "usage/ivlpp_flags", "usage/reporting_issues", "usage/simulation", "usage/verilog_attributes", "usage/vhdlpp_flags", "usage/vpi", "usage/vvp_debug", "usage/vvp_flags", "usage/vvp_library"], "filenames": ["developer/getting_started.rst", "developer/glossary.rst", "developer/guide/cadpli/cadpli.rst", "developer/guide/index.rst", "developer/guide/ivl/attributes.rst", "developer/guide/ivl/index.rst", "developer/guide/ivl/ivl_target.rst", "developer/guide/ivl/lpm.rst", "developer/guide/ivl/netlist.rst", "developer/guide/ivl/t-dll.rst", "developer/guide/misc/ieee1364-notes.rst", "developer/guide/misc/index.rst", "developer/guide/misc/swift.rst", "developer/guide/misc/xilinx-hint.rst", "developer/guide/tgt-vvp/tgt-vvp.rst", "developer/guide/vpi/index.rst", "developer/guide/vpi/va_math.rst", "developer/guide/vpi/vpi.rst", "developer/guide/vvp/debug.rst", "developer/guide/vvp/index.rst", "developer/guide/vvp/opcodes.rst", "developer/guide/vvp/vpi.rst", "developer/guide/vvp/vthread.rst", "developer/guide/vvp/vvp.rst", "developer/index.rst", "developer/regression_tests.rst", "developer/version_stamps.rst", "index.rst", "targets/index.rst", "targets/tgt-blif.rst", "targets/tgt-fpga.rst", "targets/tgt-null.rst", "targets/tgt-pal.rst", "targets/tgt-pcb.rst", "targets/tgt-sizer.rst", "targets/tgt-stub.rst", "targets/tgt-verilog.rst", "targets/tgt-vhdl.rst", "targets/tgt-vlog95.rst", "targets/tgt-vvp.rst", "usage/command_files.rst", "usage/command_line_flags.rst", "usage/getting_started.rst", "usage/gtkwave.rst", "usage/icarus_verilog_extensions.rst", "usage/icarus_verilog_quirks.rst", "usage/index.rst", "usage/installation.rst", "usage/ivlpp_flags.rst", "usage/reporting_issues.rst", "usage/simulation.rst", "usage/verilog_attributes.rst", "usage/vhdlpp_flags.rst", "usage/vpi.rst", "usage/vvp_debug.rst", "usage/vvp_flags.rst", "usage/vvp_library.rst"], "titles": ["Getting Started as a Contributor", "Glossary", "Cadence PLI1 Modules", "Developer Guide", "Icarus Verilog Attributes", "IVL - The Core Compiler", "Loadable Target API (ivl_target)", "What Is LPM", "Netlist Format", "Loadable Targets", "IEEE1364 Notes", "Miscellaneous", "Swift Model Support (Preliminary)", "Xilinx Hint", "The VVP Target", "VPI in Icarus Verilog", "Verilog-A math library", "VPI Modules in Icarus Verilog", "Debug Aids For VVP", "VVP - Verilog Virtual Processor", "Executable Instruction Opcodes", "VPI Within VVP", "Thread Details", "VVP Simulation Engine", "Icarus Verilog Developer Support", "The Regression Test Suite", "Files With Version Information", "Icarus Verilog", "The Icarus Verilog Targets", "The BLIF Code Generator (-tblif)", "The FPGA Code Generator (-tfpga)", "The null Code Generator (-tnull)", "The PAL Code Generator (-tpal)", "The PCB Code Generator (-tpcb)", "The sizer Code Analyzer (-tvvp)", "The stub Code Generator (-tstub)", "The Verilog Code Generator (-tverilog)", "The VHDL Code Generator (-tvhdl)", "The Verilog \u201895 Code Generator (-tvlog95)", "The vvp Code Generator (-tvvp)", "Command File Format", "iverilog Command Line Flags", "Getting Started With Icarus Verilog", "Waveforms With GTKWave", "Icarus Verilog Extensions", "Icarus Verilog Quirks", "Icarus Verilog Usage", "Installation Guide", "IVLPP - IVL Preprocessor", "Reporting Issues", "Simulation Using Icarus Verilog", "Verilog Attributes", "vhdlpp Command Line Flags", "Using VPI", "VVP Interactive Mode", "VVP Command Line Flags", "VVP as a library"], "terms": {"develop": [0, 13, 16, 25, 27, 47, 49, 50, 53, 55], "i": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 23, 25, 26, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "center": 0, "around": [0, 14, 20, 23, 54], "github": [0, 16, 25, 43, 47, 49], "repositori": [0, 3, 47], "com": [0, 13, 16, 20, 21, 22, 23, 47], "steveicaru": [0, 16, 47], "iverilog": [0, 2, 3, 6, 16, 26, 27, 29, 30, 33, 34, 35, 37, 38, 39, 40, 42, 43, 46, 47, 49, 50, 53], "contribut": [0, 3, 24, 41, 49], "requir": [0, 10, 23, 41, 42, 45, 50, 53], "basic": [0, 6, 14, 20, 23, 40, 47, 50], "knowledg": [0, 50, 53], "git": [0, 3, 26, 41, 47, 49], "so": [0, 1, 2, 3, 6, 7, 8, 9, 10, 12, 13, 17, 18, 20, 21, 23, 25, 29, 30, 39, 40, 41, 42, 44, 45, 47, 48, 49, 50, 53, 54, 55, 56], "see": [0, 1, 3, 4, 7, 8, 10, 12, 13, 16, 17, 20, 21, 22, 23, 41, 47, 49, 50, 54], "document": [0, 3, 4, 9, 10, 12, 17, 22, 24, 27, 40, 45, 46, 49, 56], "more": [0, 3, 6, 8, 9, 10, 16, 20, 21, 22, 23, 30, 37, 40, 41, 42, 45, 48, 49, 50, 53, 55], "inform": [0, 3, 8, 13, 18, 20, 21, 23, 24, 25, 27, 38, 40, 41, 47, 48, 49, 50, 53, 55], "The": [0, 1, 2, 4, 7, 8, 9, 10, 12, 13, 16, 17, 18, 20, 21, 22, 24, 26, 27, 40, 41, 42, 43, 44, 45, 47, 48, 49, 51, 52, 53, 54, 55, 56], "section": [0, 4, 9, 10, 23, 24, 25, 30, 45, 46, 50], "below": [0, 3, 18, 23, 25, 26, 43, 47, 54], "step": [0, 3, 6, 8, 13, 20, 22, 23, 41, 42, 47, 50, 53, 54], "you": [0, 3, 6, 12, 13, 16, 17, 20, 21, 22, 23, 25, 26, 30, 39, 41, 42, 43, 44, 45, 47, 49, 50, 53, 54, 55], "through": [0, 2, 6, 8, 13, 20, 21, 22, 23, 40, 44, 47, 49, 50, 53], "sourc": [0, 1, 3, 4, 6, 8, 10, 12, 20, 21, 22, 23, 26, 29, 33, 37, 40, 41, 42, 45, 48, 49, 50, 53], "code": [0, 1, 3, 4, 6, 7, 8, 9, 10, 12, 17, 20, 21, 22, 23, 25, 26, 27, 28, 41, 42, 45, 47, 49, 50, 51, 52, 53, 54, 55, 56], "from": [0, 2, 3, 8, 9, 10, 12, 14, 17, 18, 20, 21, 22, 26, 30, 33, 37, 38, 40, 41, 42, 44, 45, 48, 49, 50, 53, 54, 55, 56], "make": [0, 4, 6, 8, 10, 13, 20, 21, 23, 25, 26, 30, 40, 42, 43, 45, 47, 48, 53, 55, 56], "submit": [0, 47, 49], "review": 0, "To": [0, 17, 29, 33, 37, 38, 39, 45, 47, 48, 50, 53, 56], "need": [0, 3, 4, 6, 7, 8, 9, 10, 12, 16, 17, 20, 21, 22, 23, 25, 26, 30, 38, 41, 42, 45, 47, 48, 49, 50, 53, 55], "clone": [0, 47], "It": [0, 1, 3, 4, 6, 7, 8, 10, 16, 17, 20, 21, 23, 25, 30, 34, 35, 38, 40, 41, 44, 45, 50, 54, 55], "prefer": [0, 33, 53, 55], "us": [0, 1, 2, 3, 4, 6, 8, 9, 10, 12, 13, 14, 20, 21, 22, 23, 25, 26, 27, 29, 30, 33, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 51, 52, 54, 55, 56], "ssh": [0, 13], "method": [0, 3, 8, 9, 20, 21, 25, 42, 50, 53, 54], "base": [0, 1, 8, 10, 12, 13, 16, 20, 23, 30, 38, 41, 43, 44, 50, 54, 55], "command": [0, 3, 6, 9, 12, 13, 16, 17, 20, 23, 25, 27, 28, 29, 30, 33, 34, 35, 39, 42, 43, 44, 45, 46, 47, 48, 49, 53, 54], "thi": [0, 1, 2, 3, 4, 6, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "assum": [0, 10, 20, 40, 41, 44, 45, 51, 53], "have": [0, 1, 6, 8, 10, 13, 16, 20, 21, 22, 23, 26, 33, 37, 40, 41, 42, 44, 45, 47, 48, 49, 50, 53], "account": [0, 6, 10, 26], "ar": [0, 1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 23, 25, 26, 28, 29, 30, 33, 35, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "free": [0, 16, 20, 21, 22, 23, 47], "set": [0, 3, 4, 6, 8, 9, 10, 12, 17, 18, 20, 21, 22, 23, 25, 30, 33, 38, 39, 40, 41, 48, 49, 50, 54, 55], "up": [0, 8, 10, 20, 22, 23, 45, 47, 50, 53, 54, 55], "your": [0, 6, 12, 13, 16, 17, 20, 21, 22, 23, 30, 40, 42, 43, 44, 47, 49, 50, 52, 53, 54, 55], "authent": 0, "kei": [0, 25, 41, 48, 49], "guid": [0, 24, 27, 46], "here": [0, 1, 3, 4, 9, 10, 12, 13, 20, 25, 38, 41, 42, 43, 47, 53, 55], "all": [0, 3, 6, 8, 9, 10, 12, 16, 17, 20, 21, 23, 25, 26, 37, 40, 41, 42, 45, 47, 48, 49, 50, 52, 53, 55, 56], "remot": [0, 13, 47], "enumer": [0, 6], "object": [0, 1, 2, 4, 6, 7, 8, 10, 12, 14, 20, 21, 22, 23, 50, 51, 53, 54], "66234": 0, "done": [0, 13, 21, 23, 25, 34, 47, 53, 54], "count": [0, 9, 20, 23, 48], "100": [0, 42, 54], "6472": 0, "compress": 0, "4123": 0, "total": [0, 23, 34], "delta": [0, 23], "2412": 0, "reus": [0, 23], "6039": 0, "2190": 0, "pack": [0, 23], "59762": 0, "receiv": [0, 10, 16, 20, 21, 22, 23, 45, 50], "27": 0, "98": 0, "mib": 0, "2": [0, 1, 3, 10, 13, 16, 20, 21, 22, 23, 30, 34, 35, 38, 39, 40, 41, 45, 53, 54], "53": 0, "": [0, 6, 10, 12, 13, 20, 23, 30, 34, 35, 39, 41, 42, 45, 47, 49, 53, 54, 55], "resolv": [0, 4, 8, 10, 14, 18, 21, 30, 41, 44, 50], "50234": 0, "cd": [0, 13, 47, 54], "normal": [0, 6, 12, 17, 20, 22, 23, 25, 41, 42, 44, 45, 47, 48, 50, 53], "enough": [0, 1, 7, 20, 23, 40, 45, 47, 49, 50], "now": [0, 8, 10, 13, 20, 26, 47, 54], "point": [0, 2, 6, 8, 10, 12, 20, 23, 40, 45, 47, 49, 53], "most": [0, 3, 6, 9, 10, 13, 16, 20, 23, 30, 38, 39, 42, 43, 45, 47, 53, 54], "current": [0, 3, 8, 20, 21, 23, 29, 30, 32, 36, 38, 40, 41, 44, 45, 47, 48, 50, 53, 54], "implicitli": [0, 10, 40, 41, 44, 45, 47, 53], "creat": [0, 3, 8, 10, 17, 20, 21, 22, 23, 25, 26, 30, 33, 39, 42, 44, 45, 47, 50, 55], "master": [0, 41, 47], "track": [0, 23, 47, 48, 49, 50, 53], "head": [0, 10, 20, 47], "howev": [0, 8, 10, 12, 21, 23, 30, 43, 45, 47, 48, 49, 50], "If": [0, 4, 6, 8, 10, 14, 20, 21, 22, 23, 25, 30, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 53, 54, 55, 56], "want": [0, 8, 10, 17, 20, 23, 44, 45, 47, 49, 54], "actual": [0, 6, 10, 20, 21, 23, 25, 26, 41, 42, 47, 48, 53], "work": [0, 1, 2, 3, 8, 10, 12, 17, 20, 21, 22, 23, 25, 30, 40, 42, 44, 45, 47, 48, 49, 50, 52, 56], "version": [0, 6, 10, 13, 16, 20, 21, 22, 23, 24, 27, 39, 40, 41, 47, 48, 49, 52, 53, 55], "sai": [0, 10, 13, 23, 45], "exampl": [0, 2, 4, 6, 8, 9, 10, 12, 17, 20, 22, 23, 25, 26, 30, 33, 34, 35, 37, 39, 41, 42, 44, 45, 47, 48, 49, 50, 51, 52, 54], "11": [0, 23, 41, 42, 43], "v11": [0, 41, 47, 53, 55], "checkout": [0, 47], "b": [0, 8, 10, 20, 23, 45, 47], "origin": [0, 20, 21, 23, 38, 44, 45, 47, 48], "local": [0, 8, 23, 39, 41, 44, 47], "switch": [0, 13, 37, 40, 41, 42, 47, 48, 50, 53], "over": [0, 6, 8, 23, 30, 37, 38, 40, 41, 45, 47], "new": [0, 3, 6, 20, 22, 26, 28, 39, 40, 41, 44, 47, 49, 50], "import": [0, 13, 23, 34, 40, 42, 45, 47, 52], "caus": [0, 2, 4, 6, 10, 20, 23, 30, 31, 40, 41, 42, 43, 45, 47, 48, 49, 50, 53, 55], "re": [0, 25, 26, 41, 47], "merg": [0, 47], "alwai": [0, 4, 8, 10, 13, 23, 25, 34, 38, 40, 41, 42, 43, 44, 45, 47, 49, 50, 51, 53, 54], "onli": [0, 2, 4, 6, 8, 10, 16, 20, 21, 22, 23, 26, 29, 33, 37, 40, 41, 42, 44, 45, 47, 48, 50, 51, 52, 53, 55, 56], "when": [0, 1, 6, 7, 8, 10, 12, 17, 20, 21, 23, 26, 30, 34, 40, 41, 42, 43, 45, 47, 50, 52, 53, 54, 55], "push": [0, 4, 20, 23, 47, 54], "ve": [0, 10, 47], "select": [0, 10, 20, 28, 30, 38, 39, 41, 42, 47, 48, 49, 50], "tree": [0, 3, 8, 14, 21, 47], "mai": [0, 3, 4, 8, 10, 12, 13, 20, 23, 29, 30, 33, 38, 40, 41, 42, 44, 47, 48, 49, 50, 51, 53, 54, 56], "later": [0, 16, 20, 21, 22, 23, 41, 42, 45, 47, 49, 50, 51], "sync": [0, 47], "alreadi": [0, 10, 20, 43, 49, 50], "date": [0, 40, 41], "final": [0, 3, 6, 7, 8, 9, 20, 23, 38, 45, 47, 50, 54, 55], "file": [0, 3, 4, 8, 9, 10, 12, 16, 17, 18, 20, 21, 22, 23, 24, 25, 27, 29, 30, 33, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 52, 53, 55, 56], "built": [0, 8, 16, 18, 20, 23, 47, 54, 56], "extra": [0, 23, 30, 41, 47], "sh": [0, 47], "autoconf": [0, 47], "root": [0, 3, 4, 8, 16, 21, 23, 29, 35, 40, 41, 42, 47, 48, 50], "precompil": [0, 47], "lexor_keyword": [0, 3, 47], "gperf": [0, 3, 47], "vhdlpp": [0, 27, 46, 48], "instal": [0, 2, 3, 12, 27, 40, 41, 46, 53], "order": [0, 8, 9, 10, 13, 17, 20, 21, 23, 30, 39, 40, 41, 45, 47, 48, 50, 53, 55], "script": [0, 13, 25, 26, 47], "error": [0, 4, 10, 20, 21, 23, 25, 30, 40, 41, 44, 45, 47, 48, 49, 50], "10": [0, 8, 13, 16, 23, 30, 41, 45, 47, 49, 50, 54], "found": [0, 13, 25, 37, 41, 44, 47, 49, 50], "13": [0, 34, 39, 47], "download": [0, 47], "tool": [0, 3, 4, 10, 18, 23, 29, 30, 41, 44, 45, 47, 51, 53], "readi": [0, 6, 23, 50], "take": [0, 3, 6, 8, 10, 20, 21, 22, 23, 30, 40, 41, 42, 43, 44, 45, 47, 50, 53, 55], "mani": [0, 8, 17, 20, 22, 23, 41, 42, 45, 47, 48, 50, 53], "standard": [0, 1, 3, 6, 7, 13, 17, 21, 23, 41, 44, 45, 47, 48], "those": [0, 3, 8, 10, 13, 20, 23, 25, 44, 45, 47, 50, 53], "describ": [0, 1, 3, 6, 8, 18, 20, 21, 23, 25, 33, 40, 42, 45, 47, 48, 50, 51, 55], "follow": [0, 4, 6, 10, 13, 20, 23, 26, 30, 37, 38, 39, 40, 45, 47, 48, 50, 53, 54], "enabl": [0, 13, 18, 23, 41, 43, 45, 47, 48, 52, 55, 56], "suffix": [0, 23, 40, 42, 47, 55], "allow": [0, 2, 3, 8, 10, 17, 20, 21, 23, 33, 37, 38, 40, 41, 44, 45, 47, 53, 55], "user": [0, 1, 2, 3, 4, 6, 7, 9, 10, 20, 21, 23, 30, 33, 40, 41, 42, 43, 45, 46, 47, 50, 53, 55], "build": [0, 3, 8, 21, 23, 26, 47], "default": [0, 20, 33, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 50, 55], "provid": [0, 3, 6, 12, 16, 20, 21, 23, 44, 47, 48, 53], "defin": [0, 1, 3, 4, 6, 9, 10, 20, 21, 23, 30, 40, 41, 47, 48, 50, 53, 55, 56], "program": [0, 1, 3, 8, 10, 13, 16, 20, 21, 22, 23, 25, 26, 33, 37, 38, 40, 41, 42, 43, 45, 47, 48, 49, 50, 52, 53, 54, 55, 56], "directori": [0, 3, 12, 13, 16, 17, 25, 40, 41, 44, 47, 48, 50, 52, 53, 55], "tag": [0, 7, 23, 26, 47], "e": [0, 8, 9, 10, 16, 20, 23, 38, 41, 45, 47, 50, 51, 55], "g": [0, 13, 20, 38, 41, 47, 55], "0": [0, 4, 6, 8, 9, 10, 13, 16, 20, 22, 23, 30, 35, 37, 39, 41, 42, 43, 44, 47, 48, 50, 53, 54, 55], "8": [0, 10, 20, 22, 23, 42, 43, 47, 50], "vvp": [0, 1, 2, 3, 4, 6, 12, 17, 20, 22, 26, 27, 28, 40, 41, 42, 43, 44, 46, 47, 50, 53], "etc": [0, 3, 4, 7, 10, 14, 20, 23, 38, 45, 47, 51, 53], "output": [0, 3, 6, 8, 10, 13, 14, 18, 20, 21, 23, 25, 29, 30, 32, 33, 34, 35, 37, 41, 42, 43, 45, 47, 48, 50, 53, 54, 55, 56], "refer": [0, 1, 8, 10, 16, 20, 21, 23, 40, 41, 45, 47, 50], "correct": [0, 6, 10, 23, 25, 45, 47, 49], "run": [0, 2, 10, 12, 17, 20, 21, 23, 25, 39, 41, 42, 43, 44, 47, 48, 50, 53, 55, 56], "time": [0, 4, 6, 10, 13, 17, 20, 21, 23, 25, 35, 39, 41, 42, 43, 44, 47, 48, 50, 53, 54, 55], "check": [0, 3, 6, 8, 20, 23, 25, 41, 47, 49, 50, 53], "compat": [0, 3, 12, 44, 45, 47], "can": [0, 2, 3, 4, 6, 7, 8, 10, 12, 13, 16, 18, 20, 21, 22, 23, 25, 28, 29, 30, 33, 34, 38, 39, 40, 41, 42, 43, 44, 47, 48, 49, 50, 52, 53, 54, 55, 56], "v0": [0, 20, 41, 47], "9": [0, 8, 10, 16, 23, 41, 47, 50], "libvvp": [0, 47, 56], "progam": [0, 47], "small": [0, 6, 23, 42, 47, 49, 56], "stub": [0, 6, 27, 28, 47, 55, 56], "link": [0, 2, 6, 9, 12, 17, 23, 47, 49, 53], "share": [0, 2, 6, 12, 40, 41, 47, 50, 53, 56], "librari": [0, 1, 2, 3, 7, 15, 17, 27, 30, 40, 41, 43, 46, 47, 53], "other": [0, 3, 4, 6, 8, 10, 14, 16, 17, 20, 21, 23, 29, 33, 38, 40, 41, 42, 43, 44, 45, 47, 48, 50, 51, 54], "thei": [0, 1, 4, 6, 7, 8, 10, 12, 13, 16, 20, 21, 22, 23, 25, 40, 41, 42, 44, 45, 47, 49, 50, 51, 53, 55], "host": [0, 13, 47, 56], "simul": [0, 1, 3, 4, 6, 12, 19, 20, 21, 27, 39, 41, 42, 43, 44, 45, 46, 47, 53, 54, 55, 56], "libverius": [0, 3, 47], "pli": [0, 1, 2, 3, 17, 47, 51, 55], "1": [0, 1, 3, 8, 9, 10, 13, 16, 20, 21, 22, 23, 26, 30, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 50, 54, 55], "acc": [0, 47, 50], "tf": [0, 47], "routin": [0, 17, 21, 45, 47, 53], "were": [0, 2, 10, 20, 45, 47, 50, 53], "deprec": [0, 3, 41, 44, 47], "ieee": [0, 41, 44, 45, 47], "1364": [0, 44, 45, 47], "2005": [0, 41, 45, 47], "These": [0, 1, 4, 6, 8, 10, 18, 20, 22, 23, 25, 26, 40, 41, 42, 44, 45, 47, 48, 50, 53, 55], "support": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11, 17, 20, 21, 23, 27, 29, 30, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 53], "cadpli": [0, 2, 3, 12, 47, 53], "modul": [0, 1, 3, 4, 7, 8, 10, 12, 15, 16, 27, 29, 30, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 51, 54, 55], "v13": [0, 47], "A": [0, 1, 3, 7, 8, 10, 15, 20, 21, 22, 23, 25, 29, 38, 39, 40, 41, 42, 48, 50], "debug": [0, 3, 17, 19, 20, 35, 41, 44, 52, 54, 55], "valgrind": [0, 47], "add": [0, 4, 10, 13, 16, 20, 23, 33, 41, 43, 44, 45, 47, 48, 49, 50, 52, 55], "memori": [0, 20, 23, 44, 47], "cleanup": [0, 23, 47], "pool": [0, 47], "manag": [0, 8, 20, 23, 42, 47], "better": [0, 3, 8, 10, 47, 49], "leak": [0, 47], "avail": [0, 13, 20, 21, 23, 30, 39, 40, 41, 42, 43, 44, 47, 55], "note": [0, 3, 6, 8, 9, 11, 12, 13, 20, 21, 23, 25, 30, 34, 40, 41, 42, 44, 45, 47, 49, 50, 53, 55, 56], "bison": [0, 3, 47], "flex": [0, 3, 47], "gcc": [0, 6, 47, 53], "probabl": [0, 8, 40, 41, 47, 51], "easiest": [0, 47], "given": [0, 8, 10, 13, 20, 21, 22, 23, 30, 33, 40, 41, 42, 45, 47, 50, 55], "abov": [0, 8, 10, 13, 20, 23, 26, 40, 41, 44, 45, 47, 48, 53, 54], "instruct": [0, 3, 12, 19, 21, 22, 39, 47, 49, 53], "gener": [0, 1, 3, 4, 6, 7, 8, 9, 10, 12, 16, 20, 21, 22, 25, 26, 27, 28, 34, 40, 42, 43, 44, 47, 50, 53, 54, 55], "simpl": [0, 10, 13, 25, 42, 45, 47, 48, 50, 53], "load": [0, 2, 3, 6, 12, 17, 20, 23, 39, 41, 45, 50, 53, 54, 55, 56], "site": [0, 47], "usr": [0, 6, 39, 47], "x86_64": [0, 47], "unknown": [0, 10, 20], "gnu": [0, 16, 20, 21, 22, 23, 33, 47, 53], "system": [0, 2, 3, 6, 10, 12, 16, 17, 20, 23, 29, 38, 39, 40, 41, 42, 43, 47, 50, 54, 55], "type": [0, 6, 8, 10, 20, 21, 23, 30, 33, 35, 41, 45, 50, 55], "whether": [0, 6, 10, 23, 41, 44, 45], "c": [0, 1, 3, 6, 8, 10, 16, 20, 21, 22, 23, 26, 40, 41, 42, 45, 47, 49, 50, 53, 54, 55, 56], "ye": [0, 13], "name": [0, 3, 6, 8, 9, 10, 13, 16, 17, 20, 21, 23, 25, 29, 30, 33, 38, 39, 41, 42, 43, 45, 47, 48, 50, 52, 53, 54, 55, 56], "out": [0, 2, 4, 8, 10, 12, 20, 22, 23, 29, 30, 33, 34, 37, 38, 41, 42, 43, 44, 45, 49, 50, 53], "execut": [0, 3, 8, 10, 12, 19, 22, 25, 39, 41, 42, 45, 50, 53, 54, 55], "mkdir": 0, "dep": 0, "version_tag": [0, 26], "dhave_config_h": 0, "ilibmisc": 0, "wall": [0, 41], "wextra": 0, "wshadow": 0, "o2": 0, "md": 0, "main": [0, 3, 30, 38, 39, 40, 42, 45, 49, 50, 53, 54], "cc": [0, 3, 23], "o": [0, 6, 13, 29, 30, 33, 34, 35, 37, 38, 39, 41, 42, 43, 48, 49, 50, 53], "mv": 0, "d": [0, 13, 16, 20, 23, 40, 41, 45, 48, 50, 52], "async": [0, 23], "design_dump": 0, "disciplin": 0, "end": [0, 4, 8, 9, 10, 13, 16, 20, 23, 30, 34, 35, 37, 39, 40, 42, 43, 44, 45, 50, 53, 54, 56], "result": [0, 10, 16, 20, 23, 26, 34, 35, 37, 39, 41, 42, 44, 45, 48, 50, 55], "complet": [0, 8, 9, 10, 20, 23, 29, 30, 40, 45, 49, 50, 53], "like": [0, 6, 8, 10, 12, 13, 16, 17, 20, 21, 23, 25, 30, 33, 40, 42, 45, 47, 49, 50, 52, 53, 54, 55], "sudo": 0, "come": [0, 8, 10, 12, 20, 23, 50], "fairli": [0, 40], "extens": [0, 20, 23, 27, 38, 40, 41, 45, 46], "suit": [0, 24, 27, 49], "As": [0, 8, 10, 23, 30, 42, 45], "2022": 0, "includ": [0, 3, 6, 8, 10, 12, 13, 16, 17, 20, 21, 22, 23, 25, 26, 30, 32, 36, 40, 41, 42, 43, 44, 45, 47, 49, 50, 53, 54, 55, 56], "ivtest": [0, 25], "contain": [0, 3, 6, 8, 10, 17, 20, 21, 22, 23, 24, 25, 29, 30, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 52, 53], "coupl": [0, 54], "driver": [0, 3, 14, 23, 26, 30, 41, 44], "vvp_reg": [0, 25], "pl": 0, "strict": [0, 41, 45], "engin": [0, 3, 19, 20, 21, 39, 42, 50, 54, 55], "what": [0, 3, 5, 6, 8, 10, 12, 20, 22, 23, 30, 39, 41, 42, 44, 45, 47, 49, 50, 54], "peopl": [0, 42], "do": [0, 1, 6, 7, 8, 10, 20, 23, 26, 40, 41, 42, 43, 45, 47, 50, 53, 55], "should": [0, 8, 10, 12, 16, 20, 21, 22, 23, 26, 30, 38, 41, 44, 45, 47, 49, 50, 55, 56], "rerun": [0, 50], "befor": [0, 10, 20, 21, 23, 25, 34, 41, 42, 45, 48, 49, 53, 54, 55], "patch": [0, 47, 49], "also": [0, 1, 3, 8, 10, 17, 20, 21, 22, 23, 25, 40, 41, 42, 45, 47, 49, 50, 53, 54, 55, 56], "ad": [0, 10, 20, 21, 23, 28, 41, 44, 45, 55], "featur": [0, 41, 42, 44, 50], "valid": [0, 10, 13, 20, 23, 25, 44, 45, 48, 50], "bug": [0, 49], "fix": [0, 10, 20, 21, 22, 23, 38, 49], "pass": [0, 3, 8, 9, 10, 17, 20, 21, 23, 25, 34, 35, 40, 41, 44, 45, 47, 48, 50, 53, 54], "being": [0, 2, 4, 10, 23, 25, 30, 41, 45, 53], "wai": [0, 4, 6, 8, 10, 23, 25, 40, 41, 44, 45, 47, 48, 50, 54, 56], "via": [0, 3, 6, 8, 12, 13, 23, 29, 45, 53, 55], "write": [0, 6, 8, 9, 10, 16, 20, 21, 22, 23, 30, 33, 41, 42, 49, 50, 53], "access": [0, 6, 8, 9, 16, 17, 20, 21, 22, 23, 50, 51, 52, 56], "veri": [0, 10, 20, 23, 30, 40, 45, 47, 49], "few": [0, 23, 38, 42, 47, 49, 50], "commonli": [0, 39, 41], "first": [0, 8, 10, 12, 14, 20, 21, 23, 25, 39, 41, 42, 43, 44, 45, 47, 48, 50, 53, 54, 55], "easi": [0, 50], "just": [0, 1, 10, 16, 20, 38, 40, 41, 45, 47, 50, 52, 53], "go": [0, 6, 9, 20, 23, 25, 42, 49, 50, 54, 55], "page": [0, 27, 40, 41, 49], "button": [0, 49], "upper": 0, "right": [0, 8, 9, 10, 20, 23, 41, 45, 47, 55], "corner": [0, 6], "instead": [0, 2, 3, 8, 10, 20, 23, 30, 34, 37, 41, 44, 45, 48, 50, 53, 55], "them": [0, 1, 20, 23, 26, 41, 42, 45, 48, 50, 53, 55], "inclus": [0, 48, 49, 50], "rememb": [0, 45, 47], "synchron": [0, 23], "period": 0, "sure": [0, 25, 47], "latest": [0, 47, 49], "upstream": 0, "avoid": [0, 20, 41, 45, 53, 55], "conflict": [0, 10, 45], "commit": [0, 26], "my": [0, 10, 13, 17, 47], "id": 0, "we": [0, 1, 6, 8, 10, 20, 23, 39, 41, 42, 45, 47, 49, 50, 53, 54], "encourag": [0, 49], "scheme": [0, 3, 45], "destin": [0, 20, 23, 50], "foo": [0, 10, 17, 23, 25, 30, 33, 41, 43, 44, 45, 48, 49, 52, 53, 54, 55], "u": [0, 6, 20, 23, 37, 41, 42, 45, 49, 53], "Then": [0, 18, 20, 23, 25, 42, 43, 50, 52], "against": [0, 50], "continu": [0, 8, 20, 23, 25, 29, 38, 40, 41, 44, 50, 54], "integr": [0, 2, 25, 50, 53], "one": [0, 6, 8, 10, 13, 20, 21, 22, 23, 29, 30, 39, 40, 41, 42, 44, 45, 48, 49, 50, 54], "author": [0, 53], "feedback": 0, "offer": [0, 10, 50], "pr": [0, 49], "onc": [0, 8, 9, 10, 12, 20, 21, 23, 42, 43, 47, 50, 53, 54], "accept": [0, 10, 29, 30, 45], "an": [0, 1, 2, 3, 4, 6, 8, 9, 10, 13, 18, 20, 21, 22, 23, 25, 26, 30, 33, 37, 38, 41, 42, 44, 47, 48, 49, 50, 51, 53, 54, 55], "approv": 0, "individu": [0, 3, 23, 45, 50], "throughout": [1, 23, 54], "icaru": [1, 2, 3, 5, 6, 7, 9, 10, 12, 13, 16, 20, 21, 22, 23, 25, 29, 30, 32, 35, 36, 37, 38, 39, 41, 43, 48, 49, 51, 52, 53, 55], "verilog": [1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 20, 21, 22, 23, 25, 26, 29, 30, 32, 33, 34, 35, 37, 39, 40, 41, 43, 47, 48, 49, 52, 53, 55], "descript": [1, 7, 8, 20, 23, 33, 40, 45, 49, 50, 51], "varieti": [1, 7, 10, 23, 30, 40, 47, 50], "term": [1, 16, 20, 21, 22, 23, 49], "acronym": 1, "might": [1, 10, 23, 30, 41, 45, 49], "specif": [1, 4, 6, 7, 8, 10, 20, 21, 23, 26, 30, 39, 41, 42, 43, 45, 50, 51, 53], "mean": [1, 6, 8, 10, 12, 17, 20, 22, 23, 25, 30, 40, 41, 45, 48, 50, 53], "aren": 1, "t": [1, 6, 10, 13, 17, 20, 23, 25, 26, 28, 29, 30, 37, 41, 42, 43, 44, 47, 49, 53, 55], "wide": [1, 10, 20, 23, 30, 45, 50], "known": [1, 9, 45, 50], "lrm": [1, 51], "languag": [1, 6, 10, 23, 41, 44, 50], "manual": [1, 40, 54], "world": [1, 2, 23, 35, 39, 42, 50, 53, 54], "sometim": [1, 20, 23, 29, 41, 50], "ieee1364": [1, 3, 11, 41], "interfac": [1, 2, 3, 12, 17, 21, 30, 45, 53, 55, 56], "api": [1, 3, 5, 50, 53], "There": [1, 6, 8, 10, 13, 14, 20, 22, 25, 35, 37, 38, 42, 45, 47, 48, 50, 53, 54], "two": [1, 6, 8, 10, 17, 20, 23, 37, 39, 42, 47, 50], "major": [1, 3, 10, 23, 26, 38, 40, 41], "call": [1, 3, 8, 9, 17, 20, 25, 35, 38, 39, 40, 41, 42, 43, 45, 50, 53, 54, 55], "often": [1, 22, 49, 50], "vpi": [1, 3, 6, 16, 19, 20, 26, 27, 39, 41, 45, 46, 50, 51, 54, 55, 56], "udp": 1, "primit": [1, 4, 10, 23, 30, 44, 45, 50, 51], "programm": [1, 4, 6, 8, 10, 23, 32, 40, 41, 45, 48, 50, 53], "keyword": [1, 3, 23, 41, 44], "truth": [1, 20], "tabl": [1, 2, 3, 10, 17, 20, 39, 53, 54], "devic": [1, 7, 8, 14, 23, 38, 50], "syntax": [1, 6, 10, 21, 30, 33, 40, 41, 44, 45, 50, 51], "procedur": [1, 7, 8, 10, 13, 20, 23, 47], "partial": [1, 41], "implement": [1, 3, 9, 10, 16, 17, 20, 21, 25, 30, 45, 48, 50, 53], "vvm": 1, "virtual": [1, 3, 8, 23], "machin": [1, 23, 40], "runtim": [1, 21, 41, 42, 43, 45, 53, 55], "processor": [1, 3, 10, 20, 22, 23], "read": [1, 8, 10, 20, 21, 22, 23, 29, 37, 40, 42, 44, 48, 50, 53], "custom": [1, 54], "form": [1, 3, 8, 9, 10, 14, 20, 21, 22, 23, 38, 40, 41, 42, 48, 50, 53], "assembli": [1, 23, 40], "lpm": [1, 3, 5, 30], "parameter": [1, 7, 10, 45], "ei": [1, 7], "103": [1, 7], "abstract": [1, 3, 7, 20], "design": [1, 3, 6, 7, 8, 9, 10, 12, 13, 14, 21, 23, 28, 29, 30, 33, 35, 37, 40, 41, 42, 43, 44, 45, 50, 51, 53, 55, 56], "close": [1, 7, 49], "target": [1, 3, 4, 5, 7, 8, 13, 20, 23, 25, 26, 27, 29, 31, 32, 33, 34, 39, 50, 51], "hardwar": [1, 7, 50], "easili": [1, 7, 8, 10, 23, 45], "translat": [1, 3, 7, 8, 37, 38, 40], "yet": [1, 4, 7, 8, 10, 12, 13, 50], "technologi": [1, 7, 50, 51], "without": [1, 7, 10, 16, 20, 21, 22, 23, 25, 40, 41, 44, 45, 48, 50, 56], "excess": [1, 7, 45], "constraint": [1, 7], "intern": [1, 3, 4, 6, 29, 30, 44, 50], "repres": [1, 6, 7, 8, 9, 14, 16, 20, 21, 23, 42, 45, 50], "ideal": [1, 7, 10, 45], "especi": [1, 7, 10, 45, 53, 55], "neutral": [1, 7], "synthesi": [1, 3, 6, 7, 8, 10, 23, 29, 41, 45, 53], "With": [2, 10, 24, 27, 30, 34, 35, 39, 40, 45, 46, 53, 54], "abl": [2, 12, 17, 23, 40, 42, 43, 53], "applic": [2, 8, 17, 44, 53], "compil": [2, 4, 10, 12, 20, 21, 25, 26, 35, 40, 41, 42, 43, 44, 48, 49, 51, 55], "dynam": [2, 6, 9, 20, 23, 53, 56], "xl": [2, 3, 10, 45, 53], "nc": [2, 10, 53], "third": [2, 23, 50, 53], "parti": [2, 50, 53], "obvious": [2, 10, 22, 23, 53], "oper": [2, 8, 9, 10, 20, 22, 23, 38, 40, 42, 44, 45, 47, 53], "wa": [2, 10, 20, 21, 38, 39, 41, 45, 47, 53, 56], "For": [2, 3, 4, 6, 8, 9, 10, 13, 16, 17, 19, 20, 23, 25, 26, 30, 37, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54], "linux": [2, 6, 13, 42, 43, 53], "under": [2, 16, 17, 20, 21, 22, 23, 40, 42, 47, 49, 50, 53], "connect": [2, 6, 8, 10, 13, 23, 30, 38, 41, 44, 53], "invok": [2, 6, 9, 12, 17, 21, 23, 29, 31, 33, 34, 37, 38, 42, 49, 53, 54], "usual": [2, 8, 20, 22, 23, 30, 33, 44, 50, 53], "m": [2, 16, 23, 41, 50, 53, 54, 55], "flag": [2, 6, 8, 9, 10, 22, 23, 27, 28, 30, 34, 40, 42, 43, 44, 45, 46, 47, 50, 53, 54], "turn": [2, 3, 9, 10, 12, 13, 21, 23, 41, 42, 44, 45, 49, 50, 53, 55], "scan": [2, 3, 8, 17, 43, 53], "extend": [2, 20, 23, 40, 41, 43, 50, 53], "argument": [2, 3, 16, 20, 23, 25, 38, 39, 40, 42, 43, 44, 50, 53, 54], "look": [2, 3, 10, 13, 23, 25, 38, 41, 48, 49, 50, 52, 53, 54, 55], "latter": [2, 44, 48, 53, 54], "specifi": [2, 6, 8, 9, 10, 17, 18, 20, 21, 23, 25, 30, 39, 40, 41, 43, 44, 47, 48, 50, 53, 55], "bootstrap": [2, 53], "function": [2, 3, 6, 7, 8, 9, 10, 17, 20, 37, 38, 39, 41, 50, 54, 55, 56], "product": [2, 17, 20, 49, 53], "ha": [2, 3, 6, 8, 10, 13, 14, 20, 21, 23, 26, 30, 40, 41, 42, 45, 49, 50, 53, 54], "my_boot": [2, 53], "mcadpli": [2, 12, 53], "vpl": [2, 53], "activ": [2, 17, 20, 23, 41, 43, 53], "interpret": [2, 7, 8, 10, 23, 33, 42, 44, 48, 50, 53], "boot_func": [2, 53], "loadabl": [2, 3, 5, 53], "get": [2, 3, 6, 8, 10, 12, 17, 20, 21, 24, 25, 26, 27, 30, 41, 46, 47, 49, 50, 52, 53, 54], "veriusertf": [2, 53], "regist": [2, 8, 20, 21, 22, 23, 45, 53], "task": [2, 3, 10, 12, 17, 20, 38, 43, 45, 48, 50, 53, 54, 55], "export": [2, 17, 40, 47, 53], "format": [2, 3, 4, 5, 6, 17, 20, 27, 29, 30, 33, 41, 42, 43, 46, 48, 50, 53, 55], "essenti": [2, 53], "same": [2, 6, 8, 10, 12, 16, 20, 21, 23, 30, 38, 40, 41, 42, 44, 45, 48, 50, 52, 53, 54, 55], "loadpli1": [2, 53], "seamless": [2, 53], "hardli": [2, 53], "know": [2, 8, 20, 21, 23, 30, 45, 50, 53, 54], "would": [2, 10, 16, 23, 30, 45, 47, 49, 50, 53], "otherwis": [2, 3, 8, 10, 20, 41, 44, 45, 47, 49, 50, 53, 55], "intend": [3, 4, 10, 12, 20, 23, 29, 42, 50], "give": [3, 6, 10, 20, 21, 23, 30, 40, 45, 47, 48, 50, 55], "gross": 3, "structur": [3, 6, 21, 29, 49, 50], "help": [3, 4, 6, 8, 20, 24, 40, 41, 46, 49, 50, 53, 54], "orient": 3, "itself": [3, 4, 6, 8, 10, 12, 20, 23, 35, 43, 45, 50], "find": [3, 4, 6, 9, 10, 16, 20, 39, 41, 47, 49, 50, 53], "global": [3, 8, 13, 23, 44, 47], "part": [3, 10, 12, 13, 17, 20, 30, 37, 38, 41, 42, 50, 53], "where": [3, 4, 6, 8, 10, 14, 17, 20, 22, 23, 25, 30, 37, 38, 40, 41, 42, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55], "even": [3, 7, 8, 10, 16, 20, 21, 22, 23, 30, 37, 38, 40, 41, 42, 44, 45, 50, 51, 53], "detail": [3, 9, 16, 18, 19, 20, 21, 23, 30, 33, 41, 47, 49, 50, 54], "kept": 3, "maintain": [3, 44, 45], "start": [3, 4, 12, 20, 22, 23, 24, 27, 40, 46, 47, 48, 49, 50, 51, 53, 54, 55], "how": [3, 6, 10, 20, 42, 45, 50], "particip": 3, "process": [3, 6, 8, 9, 13, 23, 25, 28, 29, 37, 40, 41, 42, 45, 47, 48, 50], "That": [3, 6, 8, 9, 10, 20, 23, 29, 45, 48, 50, 56], "repeat": [3, 9, 10, 38], "scroll": 3, "down": [3, 10, 20, 23, 29, 49], "list": [3, 4, 8, 10, 16, 17, 20, 21, 23, 25, 26, 30, 38, 40, 41, 42, 44, 45, 48, 49, 50, 54], "binari": [3, 20, 47], "line": [3, 6, 8, 9, 12, 16, 18, 20, 23, 25, 27, 28, 30, 33, 38, 39, 40, 42, 45, 46, 47, 49, 50, 53, 54], "assembl": 3, "invoc": [3, 54], "subcommand": 3, "perform": [3, 6, 9, 20, 23, 41, 50, 53, 55], "preprocessor": [3, 27, 40, 45, 46], "ivlpp": [3, 27, 46], "pre": [3, 47, 50], "In": [3, 6, 7, 9, 10, 14, 17, 18, 20, 21, 23, 29, 30, 40, 44, 45, 50, 53, 54, 55], "direct": [3, 8, 10, 21, 23, 30, 39, 40, 41, 50], "ifdef": [3, 41, 45, 50], "extern": [3, 8, 28, 30, 45], "ivl": [3, 6, 9, 27, 39, 46, 49], "doe": [3, 6, 7, 8, 10, 12, 20, 21, 23, 30, 33, 34, 38, 40, 41, 44, 45, 48, 50, 51, 55], "handl": [3, 6, 8, 9, 10, 20, 21, 23, 41, 45, 48, 53], "elsewher": [3, 10, 23], "tgt": [3, 6], "after": [3, 8, 10, 12, 18, 20, 22, 23, 25, 40, 41, 50, 53, 54, 55], "finish": [3, 10, 20, 23, 38, 42, 43, 44, 50, 54, 55], "pars": [3, 8, 10, 17, 23, 41, 47, 50, 52, 55], "semant": [3, 10, 20, 45], "analysi": 3, "emit": [3, 8, 20, 23, 29, 30, 37, 38], "bundl": [3, 28], "particular": [3, 8, 10, 13, 16, 20, 21, 22, 23, 29, 45, 47], "environ": [3, 8, 12, 17, 18, 40, 42, 44, 47, 53], "subdirectori": 3, "directli": [3, 18, 20, 39, 41, 50], "emul": 3, "builtin": 3, "cadenc": [3, 10, 44, 45], "possibl": [3, 8, 10, 17, 20, 22, 23, 30, 40, 44, 45, 50, 54, 56], "some": [3, 8, 10, 13, 14, 18, 21, 23, 30, 33, 38, 39, 40, 41, 42, 44, 45, 50, 51, 53, 54, 55, 56], "special": [3, 6, 17, 20, 21, 22, 23, 38, 40, 41, 45, 47, 50, 53, 55, 56], "situat": [3, 10, 40, 45, 48], "written": [3, 10, 12, 17, 20, 21, 23, 25, 30, 33, 41, 42, 43, 45, 50], "heavi": 3, "lift": 3, "complex": [3, 6, 8, 23, 42, 48], "lexic": [3, 23], "pform": [3, 8], "elabor": [3, 6, 8, 9, 28, 29, 35, 42, 53], "netlist": [3, 5, 6, 23, 30, 33, 37, 38, 50], "functor": [3, 6, 7, 8, 20, 21], "which": [3, 6, 8, 10, 13, 14, 20, 21, 22, 23, 25, 30, 39, 40, 41, 42, 43, 44, 45, 47, 50, 51, 55], "optim": [3, 6, 7, 8, 20, 50], "option": [3, 16, 20, 21, 22, 23, 40, 41, 44, 45, 48, 50], "ivl_target": [3, 5, 9], "And": [3, 42, 54], "h": [3, 6, 8, 9, 23, 26, 41, 42, 43, 53, 56], "input": [3, 6, 8, 10, 13, 14, 20, 21, 22, 23, 25, 30, 33, 34, 35, 38, 41, 42, 43, 45, 48, 55], "lexor": [3, 47], "lex": [3, 47], "recogn": [3, 8], "token": [3, 4, 21, 23, 40, 50, 52], "stream": [3, 50, 54], "analyz": [3, 23, 27, 28], "taken": [3, 6, 20, 23, 40, 44, 53, 54], "care": [3, 20, 23, 43], "effici": [3, 10, 20, 50], "word": [3, 10, 20, 23, 29, 41], "rather": [3, 13], "larg": [3, 10, 40, 41, 45, 50], "potenti": [3, 8, 45, 50, 53], "parser": [3, 10, 21, 23, 48], "y": [3, 10, 13, 16, 23, 40, 41, 45, 50], "writer": [3, 6, 45], "decor": [3, 41], "class": [3, 20, 23, 30, 41, 45], "header": [3, 6, 9, 16, 40, 41, 52, 53, 56], "pscope": 3, "pgener": 3, "statement": [3, 4, 8, 10, 12, 20, 21, 22, 37, 40, 41, 50, 51, 52, 54], "pexpr": 3, "similarli": [3, 10, 23, 37], "transform": [3, 8, 50], "conceptu": 3, "divid": [3, 20, 50], "sever": [3, 23, 37, 41, 50], "scope": [3, 20, 34, 35, 39, 41, 43, 44, 47, 50, 54], "paramet": [3, 8, 9, 10, 20, 21, 30, 35, 37, 40, 41, 42, 43, 48, 50, 53], "overrid": [3, 8, 23, 33, 40, 41, 45, 48, 55], "defparam": [3, 8, 40, 41], "propag": [3, 8, 10, 20, 23, 45, 50], "signal": [3, 4, 8, 14, 20, 23, 30, 35, 38, 41, 43, 51], "express": [3, 10, 20, 21, 23, 37, 38, 41, 44, 50, 53], "separ": [3, 4, 17, 20, 23, 25, 40, 41, 44, 45, 48, 50], "practic": [3, 8, 10, 40, 50], "intermingl": 3, "instanti": [3, 8, 10, 23, 29, 33, 38, 41, 42, 45, 50], "instanc": [3, 8, 10, 20, 23, 33, 38, 41, 44, 50, 56], "block": [3, 8, 10, 20, 23, 38, 41], "elaborate_scop": 3, "elab_scop": 3, "initi": [3, 4, 8, 10, 12, 23, 35, 39, 42, 43, 44, 45, 50, 52, 53, 54], "bottom": [3, 53], "make_root_scop": 3, "creation": [3, 23, 41, 50], "enqueu": 3, "elaborate_root_scope_t": 3, "item": [3, 10, 20, 23, 50, 54], "prime": 3, "defparm": 3, "run_defparam": 3, "evaluate_paramet": 3, "evalu": [3, 8, 9, 41], "must": [3, 6, 10, 16, 20, 21, 23, 25, 26, 29, 37, 41, 42, 48, 49, 50, 53, 55], "becaus": [3, 7, 8, 10, 20, 21, 23, 30, 42, 43, 44, 45, 50], "exact": 3, "valu": [3, 4, 8, 9, 10, 14, 16, 20, 21, 22, 23, 25, 30, 33, 38, 39, 40, 41, 42, 43, 44, 48, 50, 55], "impact": 3, "imagin": 3, "arrai": [3, 8, 17, 20, 21, 32, 37, 38, 41, 50, 53], "attribut": [3, 5, 7, 13, 27, 30, 46], "opcod": [3, 19, 23], "within": [3, 4, 8, 9, 10, 13, 19, 20, 23, 33, 40, 41, 42, 44, 50, 52, 54], "thread": [3, 4, 10, 19, 20, 21, 39, 45], "aid": [3, 19, 20, 23, 35, 41, 44], "symbol": [3, 8, 10, 17, 21, 40, 41, 48, 53], "convent": [3, 10, 23, 40, 42], "web": [3, 21, 23], "math": [3, 15], "pli1": [3, 53], "miscellan": 3, "swift": [3, 11], "model": [3, 4, 11, 29, 42, 45, 50], "preliminari": [3, 11], "xilinx": [3, 11], "hint": [3, 10, 11], "prefix": [4, 16, 41, 47], "ivl_": [4, 51], "_ivl_": 4, "asid": 4, "summari": [4, 23], "understand": [4, 7, 10, 30, 48, 49, 50, 51], "behavior": [4, 6, 7, 10, 20, 23, 34, 41, 44, 45, 48, 50, 55], "effect": [4, 8, 10, 20, 21, 23, 41, 42, 55], "synthes": [4, 7, 13, 34, 41, 50, 51], "ivl_combin": 4, "messag": [4, 10, 17, 18, 20, 23, 25, 37, 41, 45, 48, 50, 52, 55], "warn": [4, 23, 34, 38, 41, 45, 53, 55], "tell": [4, 6, 8, 10, 12, 20, 30, 39, 40, 41, 42, 47, 50, 51, 52, 53, 54], "combin": [4, 8, 10, 13, 20, 23, 40, 41, 42, 45, 50, 53], "logic": [4, 8, 10, 13, 14, 20, 29, 30, 32, 34, 35, 38, 41, 44, 45, 50], "cannot": [4, 8, 10, 16, 20, 21, 23, 37, 45, 53], "mark": [4, 20, 25, 30, 41, 53], "report": [4, 10, 20, 25, 27, 44, 45, 46], "prevent": [4, 42, 45, 49], "accident": 4, "infer": [4, 26], "latch": 4, "flip": [4, 7, 13, 23, 34], "flop": [4, 7, 13, 23, 34], "ivl_synthesis_on": 4, "synthesiz": [4, 45, 50], "attempt": [4, 23], "ani": [4, 6, 8, 10, 16, 17, 20, 21, 22, 23, 25, 29, 30, 34, 37, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 53, 54, 55], "ivl_synthesis_off": [4, 51], "attach": [4, 14, 23, 30, 33, 51], "embed": 4, "test": [4, 10, 13, 20, 24, 26, 27, 37, 40, 42, 43, 44, 45, 49, 50, 51], "bench": [4, 42, 43, 45, 50, 51], "ivl_synthesis_cel": [4, 51], "dure": [4, 6, 8, 10, 41, 42, 45, 50, 55], "consid": [4, 10, 20, 41, 44, 49, 50, 54], "architectur": [4, 30], "its": [4, 8, 10, 14, 20, 23, 41, 44, 50, 53, 56], "interior": 4, "further": [4, 8, 10, 23, 30, 45, 47, 50], "therefor": [4, 8, 10, 21, 25, 30, 45, 50], "hold": [4, 8, 9, 10, 20, 21, 22, 23, 40, 41, 42, 45, 50], "purpos": [4, 16, 20, 21, 22, 23, 42, 50], "wire": [4, 8, 10, 14, 23, 41, 42, 43, 44, 50, 51, 54], "reg": [4, 10, 14, 20, 21, 23, 34, 42, 43, 44, 45, 50, 51, 54], "integ": [4, 8, 9, 10, 20, 22, 23, 38, 41, 45, 50], "tri": [4, 13, 18, 23, 44], "pad": [4, 20, 23], "assign": [4, 8, 10, 13, 20, 23, 29, 34, 38, 41, 43, 44, 50], "happen": [4, 6, 10, 12, 23, 31, 42], "port": [4, 6, 8, 10, 13, 20, 23, 29, 38, 41, 44, 45, 54], "string": [4, 9, 16, 20, 21, 23, 25, 26, 30, 33, 35, 40, 42, 45, 50, 55], "pin": [4, 8, 13], "comma": [4, 23], "locat": [4, 8, 12, 16, 17, 20, 23, 30, 40, 41, 44, 50, 53], "back": [4, 8, 9, 10, 13, 20, 21, 30, 54, 55], "none": [4, 10, 20, 23, 55], "_ivl_schedule_push": 4, "schedul": [4, 10, 20, 23, 45, 54], "detect": [4, 20, 23, 35, 41, 44], "race": [4, 23], "addit": [6, 7, 9, 17, 21, 23, 53], "non": [6, 20, 23, 30, 38, 45, 50, 55], "gain": [6, 23, 42], "been": [6, 10, 20, 23, 41, 42, 45, 49], "left": [6, 9, 10, 20, 23, 43, 53, 55], "reflect": [6, 10, 20, 48, 50, 53], "exactli": [6, 10, 20, 23, 30, 38, 40, 41, 44, 45, 48, 50, 53], "reliev": 6, "burden": [6, 8], "odd": [6, 49], "cours": [6, 20, 45, 50], "target_design": 6, "similar": [6, 20, 21, 23, 25, 30, 39, 40, 41, 44, 50], "fpic": [6, 53], "place": [6, 8, 10, 13, 16, 20, 21, 23, 25, 37, 38, 40, 41, 42, 47, 48, 50, 52, 53], "configur": [6, 50, 56], "adjust": [6, 8], "int": [6, 20, 23, 29, 53], "ivl_design_t": 6, "de": [6, 20], "return": [6, 8, 9, 10, 16, 20, 21, 23, 25, 41, 44, 48, 50, 55], "empti": [6, 10, 23, 25, 52, 53], "let": [6, 30, 42, 45, 53], "core": [6, 8, 9, 17, 23, 50, 53], "expect": [6, 10, 17, 20, 22, 23, 25, 40, 41, 45, 49, 50, 56], "conf": 6, "distribut": [6, 12, 16, 17, 20, 21, 22, 23, 41, 43, 47], "demonstr": [6, 10, 40, 49, 50, 53], "cprop": 6, "nodangl": 6, "dll": [6, 9, 53], "synth2": [6, 41], "synth": [6, 7], "syn": 6, "rule": [6, 10, 13, 20, 21, 23, 41, 45], "wherea": [6, 8, 10, 20, 23, 37, 50], "last": [6, 20, 21, 23, 41, 45, 53], "record": [6, 23, 29, 30, 40, 45, 52], "vari": [6, 10, 13, 45], "each": [6, 8, 10, 14, 20, 21, 22, 23, 25, 30, 37, 38, 40, 41, 44, 45, 50, 53, 56], "replac": [6, 7, 20, 23, 25, 41, 45], "fact": [6, 8, 10, 23, 45, 50], "rest": [6, 23, 43, 45, 49, 53], "best": [6, 13, 23, 47, 49, 50], "boiler": 6, "plate": 6, "differ": [6, 9, 10, 20, 21, 23, 30, 40, 41, 42, 44, 45, 50, 56], "mosi": 6, "pld": 6, "sens": [6, 8, 10, 23, 50], "both": [6, 8, 10, 20, 23, 41, 44, 45, 55], "depend": [6, 8, 10, 23, 30, 41, 43, 45, 56], "lib": [6, 12, 39, 52], "common": [6, 8, 10, 20, 23, 41, 42, 45, 47, 50, 53, 54], "ivl_lpm_t": 6, "ivl_lpm_type_t": 6, "ivl_lpm_typ": 6, "aspect": [6, 8, 23, 53, 55], "ivl_lpm_ufunc": 6, "network": [6, 23], "ufunc": [6, 23], "vector": [6, 8, 10, 20, 21, 22, 29, 30, 38, 41, 44], "ivl_lpm_defin": 6, "definit": [6, 8, 10, 20, 21, 23, 30, 40, 41, 44, 45, 50, 51, 53], "ivl_scope_t": 6, "ivl_lpm_q": 6, "width": [6, 9, 10, 20, 22, 23, 35, 40, 41, 42, 43], "ivl_lpm_width": 6, "everi": [6, 10, 20, 23, 48, 50], "ivl_lpm_siz": 6, "ivl_lpm_data2_width": 6, "nexu": [6, 8, 14], "index": [6, 8, 9, 20, 27, 38, 39, 41, 45], "ivl_lpm_data2": 6, "construct": [7, 8, 13, 21, 23, 33, 38], "properti": [7, 8, 20], "temporari": 8, "expand": [8, 10, 23, 45], "produc": [8, 10, 20, 23, 41, 42, 45], "flatten": [8, 29], "manipul": [8, 20, 22], "hopefulli": 8, "compon": [8, 23, 41], "either": [8, 16, 20, 21, 22, 23, 44, 50], "netobj": 8, "number": [8, 9, 10, 16, 20, 21, 30, 41, 44, 45, 48, 50], "although": [8, 10, 40, 41, 45, 50, 56], "artifact": 8, "unread": 8, "node": [8, 9, 18, 20, 23], "net": [8, 10, 13, 14, 20, 33, 38, 41, 44, 45, 50, 54], "togeth": [8, 17, 20, 23, 40, 42, 45, 50, 53], "transit": [8, 23], "accumul": [8, 50], "destructor": 8, "automat": [8, 16, 20, 21, 26, 38, 41, 42, 45, 53, 55], "arrang": [8, 20, 23, 45], "disconnect": [8, 20], "delet": [8, 20], "chang": [8, 10, 17, 20, 21, 23, 26, 40, 41, 45, 47, 48, 50, 55], "per": [8, 40, 41, 42, 47, 50], "singl": [8, 14, 17, 20, 21, 22, 23, 30, 37, 38, 41, 42, 45, 50, 53, 54, 56], "examin": 8, "discov": 8, "store": [8, 20, 21, 23, 47, 50, 52], "handi": 8, "iter": [8, 50], "3": [8, 10, 20, 22, 23, 34, 39, 45, 47, 54], "passiv": 8, "sampl": [8, 40, 45, 49, 50, 52, 53, 54], "event": [8, 10, 20, 45, 54], "react": 8, "drive": [8, 23], "three": [8, 10, 20, 23, 41, 45], "state": [8, 10, 20, 23, 38, 45, 54], "impli": [8, 16, 20, 21, 22, 23, 26, 44], "netcondit": 8, "carri": [8, 21, 23, 53], "condit": [8, 20, 23, 25, 45, 48, 50], "altern": [8, 41, 44], "sub": [8, 20, 21, 23, 29], "At": [8, 42, 43], "compound": 8, "But": [8, 10, 30, 44], "keep": [8, 20, 23, 44, 45, 48, 50, 53], "l": [8, 10, 13, 20, 23, 38, 40, 41, 48, 52, 53, 54, 55], "inde": 8, "brought": 8, "By": [8, 41, 43], "multipl": [8, 14, 20, 23, 37, 38, 40, 41, 42, 44, 48, 50, 55, 56], "inherit": [8, 41], "r": [8, 16, 20, 23, 41, 45], "netmemori": 8, "content": [8, 20, 40, 48, 50], "declar": [8, 9, 10, 13, 20, 21, 23, 30, 33, 37, 40, 41, 44, 52, 53], "occur": [8, 20, 23, 48], "netememori": 8, "netassignmem_": 8, "whenev": [8, 20, 23, 45, 50], "element": [8, 20, 33, 40, 45], "operand": [8, 10, 20, 21, 22, 23, 44, 45], "address": [8, 10, 20, 22, 23, 49], "appear": [8, 10, 21, 23, 41, 48, 55], "context": [8, 20, 23, 38, 45, 54], "netramdq": 8, "lpm_ram_dq": 8, "leav": [8, 10, 20], "control": [8, 10, 16, 20, 23, 30, 33, 40, 41, 42, 45, 47, 48, 50, 54, 55], "data": [8, 20, 23], "unconnect": [8, 10, 23], "fulli": [8, 9, 10, 41, 45, 50], "ram": 8, "referenc": [8, 10, 23, 50, 51], "figur": [8, 23, 42], "netexpr": 8, "deal": [8, 50], "nest": [8, 40, 48], "p": [8, 13, 23, 30, 41], "gate": [8, 10, 13, 14, 23, 29, 30, 34, 38, 50], "trigger": [8, 20, 23, 41, 45], "typic": [8, 23, 39, 41, 42, 47, 55, 56], "encod": [8, 20, 23], "kind": [8, 9, 23, 25, 54], "explicitli": [8, 10, 20, 33, 41, 45, 50], "idea": [8, 20, 45, 50], "certain": [8, 22, 23, 33, 41, 44, 45, 55], "case": [8, 10, 14, 17, 18, 20, 21, 22, 23, 25, 30, 37, 38, 40, 41, 44, 45, 47, 49, 50, 52, 53, 55], "ambigu": [8, 10], "unsiz": [8, 10, 41], "constant": [8, 9, 10, 20, 22, 23, 35, 37, 38, 41, 50], "impos": [8, 10, 42, 44, 56], "expos": 8, "bitwis": [8, 20], "AND": [8, 10, 20, 23], "size": [8, 10, 20, 23, 42, 44, 45], "comparison": [8, 10, 20, 22, 23, 25, 44, 45], "until": [8, 10, 17, 20, 23, 50], "expr_width": 8, "calcul": [8, 9, 10, 20, 23, 41, 45, 50], "guess": [8, 50], "fals": [8, 41, 44, 48], "phase": [8, 30, 41], "set_width": 8, "soon": [8, 10], "believ": [8, 49], "unsign": [8, 10, 20, 23, 38, 45, 53], "determin": [8, 20, 41, 44, 45, 53, 55], "pleas": [8, 49, 50], "adapt": 8, "reason": [8, 10, 13, 45, 49, 50, 51], "true": [8, 20, 23, 44, 48, 50], "properli": [8, 10, 25, 30, 41, 50], "matter": [8, 10, 23, 45, 50, 53], "realli": [8, 10, 20, 23, 42, 44, 50], "about": [8, 10, 21, 23, 30, 34, 40, 41, 49, 50, 53, 54, 55], "pick": [8, 44], "pointer": [8, 9, 21, 23, 53], "retriev": [8, 9, 23], "obviou": [8, 10, 21, 23, 44], "hierarch": [8, 10, 14, 23, 37, 40, 45, 50], "eras": 8, "boundari": [8, 50], "lost": [8, 20, 23, 25], "advantag": [8, 50], "simplif": 8, "backend": [8, 13, 30], "cope": 8, "eas": [8, 48], "anoth": [8, 10, 20, 23, 41, 42, 45, 50], "freeli": [8, 54], "cross": [8, 23], "easier": [8, 45, 53], "spite": 8, "liter": [8, 20, 54], "preserv": [8, 23], "netscop": 8, "children": [8, 20, 23], "own": [8, 45, 50], "relationship": 8, "parent": [8, 20, 21, 23, 50], "walk": 8, "recurs": 8, "possibli": [8, 20, 23, 30], "appli": [8, 10, 20, 51], "begin": [8, 10, 13, 20, 23, 34, 41, 42, 43, 44, 45, 50, 54, 55], "succumb": 8, "imposs": 8, "reserv": [8, 20, 22], "inlin": 8, "resolut": [8, 23, 50], "unit": [8, 21, 23, 35, 40, 41, 44, 45, 54], "sign": [8, 10, 20, 23, 38, 44, 53], "power": [8, 16, 23, 38, 45], "1n": 8, "1e": 8, "notat": [8, 20], "128": [8, 45], "127": 8, "4": [8, 10, 16, 20, 22, 23, 25, 38, 45, 50], "100u": 8, "delai": [8, 20, 39, 41], "precis": [8, 10, 20, 21, 23, 35, 39, 40, 44], "everyth": [8, 43, 45, 47], "get_precis": 8, "time_unit": 8, "time_precis": 8, "fill": 8, "subsequ": [8, 10, 45], "desir": [8, 21, 23, 30, 45, 50, 53], "collect": [9, 17, 23, 50, 53], "loader": [9, 53], "tdll": 9, "fdll": 9, "path": [9, 13, 17, 18, 25, 29, 33, 40, 41, 44, 47, 48, 50, 52, 55], "me": 9, "variou": [9, 18, 23, 33, 38, 39, 40, 41, 42, 50, 51, 54], "ivl_ex_concat": 9, "concaten": [9, 10, 20], "ivl_expr_parm": 9, "increas": [9, 49], "signific": [9, 10, 20, 23, 40, 45], "least": [9, 10, 20, 21, 23, 41, 45], "bit": [9, 10, 13, 20, 22, 23, 29, 30, 38, 41, 47, 50, 53, 55], "ivl_ex_numb": 9, "ascii": 9, "charact": [9, 10, 18, 20, 23, 30, 40, 41, 42, 44, 45, 48, 50, 54, 55], "x": [9, 10, 13, 16, 20, 22, 23, 26, 37, 41, 44, 45, 50, 53], "z": [9, 10, 13, 20, 22, 23, 44, 50], "ivl_expr_bit": 9, "remain": [9, 20, 22, 23, 41, 50], "5": [9, 10, 13, 20, 22, 40, 41, 42, 43, 45, 50], "b1zzx0": 9, "0xzz1": 9, "bibl": 10, "ultim": [10, 21], "wrong": [10, 21, 49], "constrain": [10, 20, 23, 50], "unclear": 10, "unspecifi": [10, 55], "simpli": [10, 17, 20, 22, 23, 42, 50], "ll": [10, 20], "try": [10, 17, 41, 48, 49, 53], "made": [10, 13, 23, 40, 41, 44, 45], "decis": 10, "clear": [10, 20, 23, 45, 50], "affect": [10, 20, 21, 23, 41, 50, 55], "BE": 10, "anywher": [10, 40, 51], "IN": 10, "THE": 10, "sample1": 10, "tmp": [10, 17], "bar": [10, 52], "displai": [10, 20, 23, 35, 38, 39, 42, 43, 50, 52, 54, 55], "endmodul": [10, 30, 34, 35, 39, 42, 43, 45, 50, 53, 54], "notic": [10, 23, 49, 50, 53], "perfectli": 10, "legal": [10, 49], "accord": [10, 17, 20, 50], "1995": [10, 41], "2000": [10, 13], "module_item_declar": 10, "module_item": 10, "bnf": 10, "appendix": 10, "treat": [10, 20, 23, 41, 45], "equal": [10, 20, 23, 45], "furthermor": [10, 45], "text": [10, 17, 20, 23, 30, 33, 35, 40, 41, 42, 44, 50, 56], "restrict": [10, 40, 44, 56], "sort": [10, 20, 21, 23, 42], "variabl": [10, 12, 14, 17, 18, 20, 37, 38, 41, 44, 45, 50, 53, 54, 56], "textual": [10, 50], "Such": 10, "exist": [10, 20, 23, 26, 41, 44, 48, 49], "person": [10, 49], "think": [10, 20, 49], "fine": [10, 45], "don": [10, 13, 17, 20, 44, 47, 49, 53], "closest": [10, 20], "implicit": [10, 20, 23, 41], "undeclar": 10, "sample2": 10, "clearli": [10, 42, 45, 50], "again": [10, 49, 50, 53, 55], "One": [10, 45, 49, 50], "forward": [10, 25, 40], "entir": [10, 20, 21, 41, 50, 53], "well": [10, 20, 23, 41, 45, 49, 53, 54], "commerci": [10, 45], "break": [10, 20, 54], "claim": [10, 45, 49], "twice": 10, "question": [10, 20, 30], "becom": [10, 23, 29, 30, 40, 41, 42, 50], "broken": [10, 23], "limit": [10, 13, 16, 20, 23, 44, 50], "coverag": 10, "seem": [10, 13, 45], "fault": 10, "somebodi": 10, "goof": 10, "somewher": [10, 50], "opinion": 10, "preced": [10, 23, 41], "oppos": 10, "necessari": [10, 20, 23, 29, 42], "implic": [10, 41], "reach": 10, "irrelev": 10, "infect": 10, "explicit": [10, 29, 30, 41, 45, 53], "negat": 10, "neg": [10, 23, 38, 45], "15": [10, 23, 45, 50], "val": [10, 20], "endfunct": 10, "quit": [10, 21, 53], "pattern": [10, 50], "16bit": 10, "clarif": 10, "why": [10, 49], "though": [10, 21, 23, 49], "rang": [10, 41, 45, 50], "match": [10, 20, 23, 25, 41, 45, 50, 53], "mind": [10, 20, 45], "decid": [10, 23, 45], "long": [10, 12, 21, 23, 29, 40, 41, 47], "portabl": [10, 30, 43, 44, 45], "doesn": [10, 13, 23, 25, 26, 29, 30, 41, 44, 55], "disallow": 10, "round": 10, "OF": 10, "timescal": [10, 21, 39, 40, 41, 44], "present": [10, 23, 25, 30, 41, 45, 54, 56], "suppos": [10, 12, 30], "fraction": [10, 45], "scale": [10, 23, 44], "nearest": 10, "confus": [10, 23, 41, 44, 45], "appar": 10, "toward": [10, 20], "zero": [10, 20, 23, 37, 38, 41], "column": [10, 23], "thing": [10, 23, 25, 38, 42, 44, 55], "output_symbol": 10, "self": [10, 44, 45], "contradictori": 10, "loop": [10, 41, 54], "v": [10, 20, 23, 25, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 48, 49, 50, 52, 53, 55], "posedg": [10, 13, 23, 34, 42, 43, 50, 54], "clk": [10, 13, 23, 42, 43, 50, 54], "procedural_timing_control_stat": 10, "delay_or_event_control": 10, "statement_or_nul": 10, "event_control": 10, "5th": 10, "loop_stat": 10, "guidanc": 10, "draft": 10, "improv": [10, 20], "suggest": [10, 16, 40, 47], "numer": [10, 20, 22], "NOT": [10, 20, 45], "TO": 10, "32": [10, 20, 38, 53], "17179869183": [10, 45], "36": [10, 45], "h3_ffff_ffff": [10, 45], "overflow": [10, 20, 45], "32bit": [10, 20], "choos": [10, 12, 23, 30, 41, 42, 43, 45, 50], "64bit": [10, 20, 22, 23, 44], "good": [10, 13, 45], "truncat": [10, 20, 41, 45], "big": [10, 45], "accur": [10, 45], "sinc": [10, 20, 21, 23, 29, 30, 41, 45, 47, 53, 56], "contract": [10, 45], "ever": [10, 45], "arbitrarili": [10, 45], "hi": [10, 16, 40], "AS": 10, "14": [10, 13, 34, 45], "shall": [10, 45], "b0": [10, 23, 34, 45], "16": [10, 20, 22, 41, 45], "illeg": [10, 45], "stand": [10, 45], "justif": [10, 45], "far": [10, 23, 45, 49, 50], "concern": [10, 23, 45], "unfortun": [10, 45], "feel": [10, 45], "show": [10, 12, 45, 54, 55], "than": [10, 13, 20, 21, 23, 38, 42, 45, 47, 48, 50], "problem": [10, 17, 45, 49], "decim": [10, 16, 20, 23, 45, 50], "emphasi": [10, 45], "128bit": 10, "h1_00_00_00_00": [10, 45], "h1": [10, 45], "h0_00_00_00_01": [10, 45], "h5_00_00_00_00": [10, 45], "justifi": [10, 23, 45], "disput": [10, 45], "adder": [10, 45], "quot": [10, 45, 48], "arguabl": [10, 45], "violat": [10, 45], "letter": [10, 45], "law": [10, 45], "next": [10, 20, 23, 39, 40, 42, 45, 47, 48, 50, 53], "sentenc": [10, 45], "intent": [10, 20, 45], "whatev": [10, 17, 21, 29, 42, 45, 49], "predict": [10, 20, 44, 45], "posit": [10, 20, 23, 41, 45], "except": [10, 16, 20, 23, 37, 40, 45, 48, 49], "reduct": [10, 20, 45], "appropri": [10, 20, 21, 22, 23, 33, 38, 40, 42, 45, 47, 49, 50], "WITH": 10, "u1": 10, "u2": 10, "u3": 10, "u4": 10, "littl": 10, "less": [10, 20, 21, 23, 45], "trick": 10, "strictli": [10, 44], "speak": [10, 44], "doubt": 10, "u5": 10, "u6": 10, "length": [10, 21, 23, 41, 50], "second": [10, 23, 42], "weak": 10, "7": [10, 20, 22, 42, 43, 44, 45], "vec": 10, "idx": [10, 20, 23, 45], "expr": [10, 41, 45], "oblivion": 10, "interact": [10, 13, 20, 23, 27, 39, 46, 55, 56], "between": [10, 40, 45, 50], "level": [10, 37, 40, 41, 48, 54], "poorli": 10, "q": [10, 23, 55], "fail": [10, 20, 23, 25], "too": [10, 41], "comput": [10, 20], "previou": [10, 21, 23, 45, 50], "print": [10, 18, 20, 34, 37, 41, 45, 48, 54, 55], "filter": 10, "puls": [10, 20, 42, 43], "earli": 10, "yield": [10, 20], "assumpt": 10, "2001": [10, 20, 21, 22, 23, 41, 45], "dimens": [10, 21, 23, 41], "edg": [10, 23], "clock": [10, 13, 20, 23, 30, 34, 42, 43, 54], "stuff": 10, "search": [10, 17, 27, 40, 41, 42, 44, 48, 50, 52, 53, 55], "rise": [10, 23], "technic": 10, "rumor": 10, "behav": [10, 50], "thu": [10, 21, 23, 53], "real": [10, 16, 20, 22, 23, 37, 38, 44, 45, 50], "dumpoff": 10, "dead": [10, 50], "zone": 10, "vcd": [10, 43], "checkpoint": 10, "dump": [10, 18, 35, 43, 55], "bx": [10, 20, 23, 41], "r0": 10, "modeltech": 10, "ignor": [10, 23, 40, 41, 45, 48, 51, 53], "nan": [10, 16, 20], "ieee754": 10, "equival": [10, 13, 20, 39, 50], "statu": 10, "rnan": 10, "convention": 10, "scanf": 10, "viewer": [10, 43, 50], "while": [10, 23, 53, 55], "amongst": 10, "wild": [10, 20], "mirror": 10, "friendli": [10, 49], "view": [10, 43, 55], "copyright": [12, 16, 20, 21, 22, 23, 41, 48, 49], "2003": 12, "2024": [12, 16, 20, 21, 22, 23, 49], "stephen": [12, 16, 20, 21, 22, 23, 49], "william": [12, 16, 20, 21, 22, 23, 49], "provision": 12, "lmtv": 12, "synopsi": 12, "along": [12, 16, 18, 20, 21, 22, 23, 25, 42, 48, 50, 53], "proper": [12, 23, 30, 48, 53], "txt": [12, 13, 17, 20, 23, 34, 35, 42, 44], "lmc_home": 12, "softwar": [12, 13, 16, 17, 20, 21, 22, 23, 47, 56], "setup": [12, 13, 23], "wrapper": [12, 21], "ncverilog": 12, "verilogxl": 12, "smartmodel": 12, "libdir": [12, 40, 41, 52], "sol": 12, "wrap": [12, 14], "lm_model": 12, "solari": [12, 13], "interest": [12, 13, 42, 55], "ident": [12, 20], "platform": [12, 20], "x86_linux": 12, "swiftpli": 12, "swift_boot": 12, "boot": 12, "capabl": [12, 45], "lm_": 12, "infrastructur": 12, "who": [13, 24, 44, 47, 49, 53], "wish": [13, 17, 50, 53], "foundat": [13, 16, 20, 21, 22, 23], "allianc": 13, "admittedli": 13, "2300": 13, "spartan": 13, "xcs10": 13, "older": [13, 30, 41, 47], "19990814": 13, "couldn": 13, "buri": 13, "newer": [13, 25, 47], "20000120": 13, "xnfsyn": 13, "newi": 13, "newz": 13, "steve": [13, 20, 21, 22, 23], "xnf": 13, "cover": [13, 44, 49], "buffer": [13, 30], "had": [13, 45], "bufg": 13, "buf": [13, 14, 30], "your_output_her": 13, "your_input_her": 13, "lca": 13, "post": [13, 23], "fast": 13, "f": [13, 20, 23, 45, 48], "robustli": 13, "fsynth": 13, "fnodangl": 13, "fxnfio": 13, "ngdbuild": [13, 30], "lose": 13, "placement": 13, "put": [13, 20, 23, 50, 54], "xnf2pcf": 13, "extract": [13, 20], "rout": 13, "_will_": 13, "pai": [13, 55], "attent": [13, 55], "he": 13, "ncf": 13, "fncf": 13, "haven": 13, "presum": 13, "gui": 13, "fit": [13, 16, 20, 21, 22, 23], "makefil": [13, 26, 47], "sequenc": [13, 40, 42, 44, 50], "pseudo": [13, 21, 23], "shell": [13, 39, 40], "ngd": [13, 30], "map": [13, 23, 30], "ncd": [13, 30], "par": [13, 30], "w": [13, 23, 30, 41, 52], "ol": 13, "bitgen_flag": 13, "configr": 13, "slow": 13, "tdopin": 13, "pullnon": 13, "donepin": 13, "pullup": 13, "crc": 13, "startupclk": 13, "cclk": 13, "synctodon": 13, "doneact": 13, "c1": [13, 42, 43], "outputsact": 13, "c3": 13, "gsrinact": 13, "c4": 13, "readclk": 13, "readcaptur": 13, "readabort": 13, "disabl": [13, 20, 23, 37, 41, 45, 55], "bitgen": 13, "diarrhea": 13, "temp": 13, "dedic": 13, "transpar": 13, "gmake": 13, "batchmod": 13, "alliance_host": 13, "remote_alli": 13, "remote_dir": 13, "basenam": [13, 21, 23, 25], "scp": 13, "bin": [13, 39, 47], "csh": 13, "cat": 13, "howto": 13, "http": [13, 16, 29, 47], "www": [13, 29], "polybu": 13, "xilinx_on_linux": 13, "html": 13, "xess": 13, "xsp": 13, "board": 13, "pc": [13, 22], "parallel": [13, 56], "printer": 13, "old": [13, 20], "public": [13, 16, 20, 21, 22, 23], "domain": [13, 44], "fpga": [13, 27, 28], "xstool": 13, "zip": 13, "ftp": 13, "microux": 13, "pub": 13, "pilotscop": 13, "tar": 13, "gz": 13, "experi": [13, 20], "nt": 13, "gack": 13, "1i": 13, "mileag": 13, "luck": 13, "larri": [13, 16], "doolittl": [13, 16], "lrdoolittl": 13, "lbl": 13, "gov": 13, "august": 13, "19": [13, 50], "1999": 13, "updat": [13, 44, 47], "februari": 13, "v_": 14, "full": [14, 20, 21, 45, 50], "bufz": 14, "l_": 14, "full_nam": 14, "ivl_nexus_t": 14, "fed": 14, "feed": [14, 23], "2007": 16, "cari": 16, "cygcari": 16, "yahoo": 16, "redistribut": [16, 20, 21, 22, 23], "modifi": [16, 20, 21, 22, 23, 45, 50], "publish": [16, 20, 21, 22, 23], "hope": [16, 20, 21, 22, 23], "warranti": [16, 20, 21, 22, 23], "merchant": [16, 20, 21, 22, 23], "FOR": [16, 20, 21, 22, 23], "copi": [16, 20, 21, 22, 23, 25, 40, 56], "inc": [16, 20, 21, 22, 23], "51": [16, 20, 21, 22, 23, 50], "franklin": [16, 20, 21, 22, 23], "street": [16, 20, 21, 22, 23], "fifth": [16, 20, 21, 22, 23], "floor": [16, 20, 21, 22, 23], "boston": [16, 20, 21, 22, 23], "ma": [16, 20, 21, 22, 23], "02110": [16, 20, 21, 22, 23], "1301": [16, 20, 21, 22, 23], "usa": [16, 20, 21, 22, 23], "va_math": [16, 17, 39], "ln": 16, "natur": [16, 50], "logarithm": 16, "log10": 16, "exp": [16, 20, 30], "exponenti": 16, "sqrt": [16, 50], "squar": [16, 50], "min": [16, 20, 39, 41], "minimum": [16, 45, 53], "max": [16, 20, 39, 41], "maximum": 16, "ab": [16, 20], "absolut": [16, 20], "ceil": 16, "pow": [16, 20], "sin": 16, "sine": 16, "co": 16, "cosin": 16, "tan": 16, "tangent": 16, "asin": 16, "arc": 16, "aco": 16, "atan": 16, "atan2": 16, "hypot": 16, "hypotenus": 16, "sinh": 16, "hyperbol": 16, "cosh": 16, "tanh": 16, "asinh": 16, "acosh": 16, "atanh": 16, "underli": [16, 50], "inf": [16, 20], "vam": 16, "recent": 16, "devel": [16, 39], "m_pi": 16, "pi": 16, "m_two_pi": 16, "m_pi_2": 16, "m_pi_4": 16, "m_1_pi": 16, "m_2_pi": 16, "m_2_sqrtpi": 16, "m_e": 16, "m_log2": 16, "log": [16, 18, 25, 34, 55], "m_log10": 16, "m_ln2": 16, "m_ln10": 16, "m_sqrt2": 16, "m_sqrt1_2": 16, "vpip_set_callback": 17, "vlog_startup_routin": [17, 53], "jump": [17, 20], "startup": [17, 23, 53], "vpi_module_path": [17, 23], "v2005_math": [17, 39], "v2009": 17, "vhdl_sy": [17, 39], "vhdl_textio": [17, 39], "privat": [17, 22, 23], "vhdl": [17, 27, 28, 29, 40, 48, 52], "abil": [17, 45], "vpi_trac": 17, "setenv": 17, "pretti": [17, 25], "verbos": [17, 41, 52, 55], "whim": 17, "fiendishli": 18, "difficult": [18, 50], "vvp_debug": 18, "label": [18, 20, 21, 49], "prepend": 18, "chapter": [20, 42, 45, 50, 53], "principl": [20, 53], "arithmet": [20, 22, 44, 45], "plan": [20, 53], "stack": [20, 23, 54], "pull": [20, 22, 26, 38, 40, 47, 50], "somewhat": [20, 44], "forth": 20, "hp": 20, "rpn": 20, "spare": 20, "lead": [20, 30, 40, 41, 45, 48, 53], "compact": [20, 43], "overal": [20, 53], "boolean": [20, 23], "branch": [20, 22, 23, 41, 47], "wr": 20, "fab": 20, "top": [20, 23, 34, 35, 37, 39, 40, 41, 43, 45, 49], "addi": 20, "vala": 20, "valb": 20, "wid": [20, 23, 53], "pop": [20, 54], "vec4": [20, 23], "variant": [20, 23, 41, 44], "immedi": [20, 22], "pushi": 20, "alloc": 20, "storag": [20, 23], "independ": [20, 23, 30, 40, 49, 50], "delayx": 20, "canon": [20, 23], "variat": [20, 23, 50], "evctl": 20, "var": [20, 21, 23, 41], "xxxx": 20, "tick": [20, 23, 54], "futur": 20, "off": [20, 38, 42, 44, 45, 48, 54, 55], "offset": 20, "undefin": [20, 23, 38, 41, 44], "suppress": [20, 55], "blend": 20, "manner": [20, 45], "ternari": 20, "breakpoint": 20, "uncondition": 20, "debugg": 20, "stop": [20, 41, 42, 54, 55], "chanc": [20, 21], "op": [20, 21], "callf": 20, "obj": 20, "str": [20, 23], "void": [20, 53], "subsum": 20, "fork": [20, 23, 37], "join": [20, 23, 37], "caller": [20, 23], "onto": [20, 23, 44], "cassign": [20, 23], "respond": [20, 23], "readm": [20, 47], "failur": [20, 50, 55], "cast2": 20, "convert": [20, 29, 44], "vector2": 20, "cast": [20, 45], "vec2": 20, "dar": 20, "cmp": [20, 23], "ne": [20, 23], "cmpi": 20, "6": [20, 22, 23, 30, 48, 53], "eq": [20, 23], "lt": 20, "eeq": [20, 23], "greater": [20, 23, 38], "compar": [20, 25, 44], "bother": 20, "faster": [20, 43], "invert": 20, "elimin": [20, 41, 45, 50], "flag_inv": 20, "wne": [20, 23], "casez": 20, "casex": 20, "underneath": 20, "remov": [20, 41, 44, 48, 55], "concat": [20, 23], "concati": 20, "Or": [20, 39], "tail": 20, "lsb": [20, 21, 22, 23], "msb": [20, 21, 23, 38], "append": [20, 41], "cvt": 20, "sr": 20, "ur": 20, "convers": [20, 49], "rv": 20, "vr": 20, "deassign": [20, 23, 43], "deactiv": [20, 23], "identifi": [20, 21, 23, 42, 45, 50], "thr": 20, "alter": [20, 55], "flow": 20, "low": 20, "high": [20, 23], "paus": 20, "reschedul": 20, "amount": [20, 23, 50], "resum": [20, 21, 54], "null": [20, 23, 27, 28, 53], "idiom": 20, "warrant": [20, 23], "shorthand": [20, 23, 40, 54], "termin": [20, 23, 39, 40, 47, 53, 54], "hierarchi": [20, 21, 37, 42, 45, 50, 54], "systemverilog": [20, 29, 41, 44], "detach": 20, "div": [20, 23], "IF": 20, "divis": [20, 37], "dup": 20, "duplic": 20, "correspond": [20, 23, 25, 37, 48], "repetit": 20, "skip": [20, 23, 25, 41, 53], "assert": [20, 41], "correctli": [20, 23, 38, 41], "nb": 20, "send": [20, 28, 48, 55], "arbitrari": [20, 23, 30, 50], "file_lin": 20, "sent": [20, 48, 50, 55], "stderr": [20, 25, 52, 55], "trace": [20, 54, 55], "flag_mov": 20, "flag1": 20, "flag2": 20, "flag_or": 20, "OR": [20, 23], "flag_set": 20, "imm": 20, "flag_get": 20, "forc": [20, 37, 41], "invalid": 20, "jmp": [20, 23], "child": [20, 23], "runnabl": 20, "necessarili": [20, 23, 30], "previous": [20, 23], "inv": 20, "ix": [20, 22], "getv": 20, "64": [20, 23, 44, 45, 50, 53], "chunk": 20, "mul": 20, "subtract": 20, "multipli": 20, "mov": 20, "dst": [20, 23], "src": [20, 23, 41], "uncondit": 20, "01xz": 20, "xz": 20, "t_label": 20, "partner": 20, "wait": [20, 23, 50], "spawn": 20, "still": [20, 23, 25, 38, 41, 45, 50], "suspend": [20, 23], "n": [20, 23, 37, 38, 39, 53, 55], "join_non": 20, "join_ani": 20, "darrai": 20, "stra": 20, "ok": 20, "drop": [20, 38, 54], "vec4a": 20, "arr": 20, "addr": [20, 44], "cancel": 20, "loadi": 20, "mant": 20, "float": [20, 23, 41], "mantissa": 20, "0x1000": 20, "ed": 20, "0x4000": 20, "0x3fff": 20, "0x7fff": 20, "mod": [20, 23], "modulu": [20, 38], "muli": 20, "pare": 20, "nand": [20, 23], "cobj": 20, "bool": [20, 23, 35, 44], "sb": 20, "nor": [20, 23, 55], "unless": [20, 23, 30, 45, 50], "replic": [20, 22, 23], "space": [20, 22, 23, 38, 40, 41, 48, 50], "overlap": 20, "larger": [20, 42, 50, 56], "smaller": [20, 23, 49, 50], "num": [20, 48], "opposit": [20, 23], "pushx": 20, "Of": [20, 45, 50], "rais": [20, 37], "prop": 20, "pid": 20, "vector4": 20, "pushv": 20, "putc": 20, "muxr": 20, "byte": [20, 23, 25], "8bit": 20, "qpop": 20, "queue": [20, 23], "releas": [20, 23, 37, 40, 41, 47, 49], "noth": [20, 30], "unforc": 20, "ret": 20, "much": [20, 23, 42, 45], "subvector": 20, "retload": 20, "bunch": 20, "qb": 20, "qf": 20, "front": [20, 52], "shiftl": 20, "shiftr": 20, "shift": [20, 23, 38, 45], "split": 20, "unsplit": 20, "cobject": 20, "reala": 20, "fewer": 20, "indic": [20, 21, 23, 33, 44, 55], "push_back": 20, "push_front": 20, "distinct": [20, 23], "subi": 20, "substr": 20, "style": [20, 22, 30, 38, 40], "sel": 20, "test_nul": 20, "nul": 20, "peek": 20, "vpi_cal": [20, 21, 23, 39], "vpihandl": [20, 21, 23], "vpi_func": [20, 23], "sensit": [20, 41, 45], "await": 20, "sleep": 20, "respons": 20, "restart": 20, "xnor": [20, 23], "exclus": [20, 41], "xor": [20, 23], "licens": [20, 21, 22, 23, 49], "subset": [21, 29], "minimalist": 21, "concept": [21, 23, 44], "databas": [21, 49], "lot": [21, 40, 41, 42, 44, 49, 50], "ones": 21, "miss": [21, 41, 45, 50], "caught": 21, "miracul": 21, "minim": 21, "compiletf": [21, 53], "perspect": 21, "unlik": [21, 23], "request": [21, 53], "vpi_register_systf": [21, 53], "tricki": 21, "bound": [21, 41], "vpisystfcal": 21, "vpisystaskcal": 21, "magic": 21, "achiev": 21, "argument_list": 21, "vpiscop": 21, "vpiinternalscop": [21, 45], "vpifullnam": 21, "themselv": [21, 23], "mention": [21, 23, 50], "scalar": [21, 23, 41], "vpi_ipoint_t": 21, "relat": [21, 42, 49], "vpireg": 21, "counter": [22, 23, 42, 43, 48, 50], "increment": 22, "fetch": 22, "64k": 22, "singli": [22, 23], "readabl": 23, "conveni": [23, 41, 42, 48, 50, 53], "human": [23, 50], "meaningless": 23, "semicolon": 23, "comment": [23, 38, 48, 49, 53], "0x5a": 23, "span": [23, 40, 45], "commentari": 23, "vpi_time_precis": [23, 39], "mostli": [23, 44, 48, 53, 56], "ahead": 23, "nanosecond": 23, "consist": [23, 44, 45], "_": 23, "digit": [23, 45], "distinguish": 23, "eventu": [23, 47], "vvp_ipoint_t": 23, "lineno": 23, "def": 23, "cell": [23, 30, 51], "autofunct": 23, "autotask": 23, "autobegin": 23, "autofork": 23, "celltyp": 23, "regular": [23, 25, 42, 43], "short": [23, 40], "param": 23, "vpiparamet": 23, "p_123": 23, "hello": [23, 35, 39, 42, 53, 54], "complement": 23, "four": 23, "symbol_list": 23, "drive0": 23, "drive1": 23, "lookup": [23, 50], "someth": [23, 26, 38, 39, 45, 49], "strength": [23, 44, 45], "almost": [23, 41, 42, 56], "muxz": 23, "readili": 23, "ce": [23, 25], "aclr": 23, "aset": 23, "datum": 23, "transfer": 23, "asynchron": 23, "aynchron": 23, "deassert": 23, "clr": 23, "en": 23, "sequenti": [23, 29], "combinatori": 23, "flavor": [23, 47], "row": [23, 49], "char": [23, 53], "01": [23, 41], "0x": 23, "1x": 23, "x0": 23, "x1": 23, "comb": 23, "row0": 23, "row1": 23, "identif": 23, "sequ": 23, "init": 23, "earlier": [23, 41], "2u": 23, "vpiintegervar": 23, "vpistringvar": 23, "sake": 23, "lest": 23, "contigu": 23, "held": 23, "mode": [23, 27, 41, 46, 55, 56], "net8": 23, "act": 23, "diod": 23, "trap": 23, "arriv": 23, "reduc": [23, 50], "alia": [23, 40], "alias": 23, "fall": [23, 49], "decai": 23, "modpath": 23, "wake": 23, "symbols_list": 23, "notif": 23, "negedg": 23, "anyedg": [23, 45], "watch": 23, "due": [23, 45, 50], "awar": 23, "job": [23, 53], "tri0": 23, "tri1": 23, "vvp_vector8_t": 23, "pv": 23, "vector_wid": 23, "invers": 23, "move": [23, 30], "surround": [23, 40], "rept": 23, "analog": 23, "soff": 23, "swid": 23, "goe": [23, 47, 55], "la": [23, 54], "narrow": 23, "wider": 23, "arith": 23, "sum": 23, "mult": 23, "nee": 23, "ge": 23, "gt": 23, "weq": 23, "plain": [23, 45], "flabel": 23, "isymbol": 23, "psymbol": 23, "ssymbol": 23, "synthet": 23, "transient": 23, "said": [23, 45], "reap": 23, "accomplish": 23, "calle": 23, "parentag": 23, "erron": [23, 50], "region": 23, "strip": [23, 40], "manufactur": 23, "uint64_t": 23, "int64_t": 23, "doubl": [23, 48], "deserv": 23, "atom": 23, "stai": 23, "never": [23, 49, 50], "arg": 23, "strobe": 23, "silent": 23, "base_symbol": 23, "tbase": 23, "twid": 23, "512": 23, "randomli": 23, "00": 23, "b1": [23, 54], "bz": [23, 41], "332211": 23, "pair": 23, "zzxx1100": 23, "suffici": [23, 41], "expir": 23, "waveform": [23, 27, 46, 50, 55], "tickl": 23, "commun": [23, 56], "waitfor": 23, "blob": 23, "poke": 23, "prod": 23, "resourc": 23, "footprint": 23, "compile_init": 23, "_init": 23, "proce": 23, "compile_": 23, "live": 23, "compile_cleanup": 23, "unresolv": 23, "schedule_simul": 23, "i1": 23, "i2": 23, "i3": 23, "cascad": 23, "i4": 23, "i5": 23, "i6": 23, "i7": 23, "i8": 23, "phantom": 23, "freed": 23, "associ": [23, 30, 41], "static": [23, 50, 53, 56], "bodi": 23, "rejoin": 23, "reset": [23, 34, 41, 42, 43, 50], "indirect": 23, "contributor": [24, 27], "regress": [24, 26, 27, 44, 49], "glossari": [24, 27], "action": [25, 56], "perl": 25, "gradual": 25, "dest": 25, "macro_str_esc": 25, "vvp_test": 25, "json": 25, "rel": [25, 41, 48, 50], "py": 25, "dictionari": 25, "ivltest": [25, 26], "succe": 25, "vlog95": 25, "tvlog95": [25, 27, 28], "simplifi": 25, "tvvp": [25, 27, 28, 49], "ni": 25, "exit": [25, 44, 48, 55], "ef": 25, "stdout": [25, 52, 55], "ran": 25, "plusarg": [25, 40, 43, 50], "version_bas": 26, "info": [26, 49, 55], "spec": 26, "stamp": 26, "rpm": [26, 47], "packag": [26, 28, 29, 37, 40, 47, 52, 54], "edit": [26, 40, 49, 50], "worth": 26, "ex": [26, 47], "man": [26, 41], "th": 26, "rc": 26, "window": [26, 40, 42], "vams_simparam": 26, "hard": 26, "simulatorvers": 26, "queri": 26, "12": [26, 41], "v12": 26, "xxx": 26, "welcom": [27, 49], "usag": [27, 41, 48, 54, 55], "gtkwave": [27, 45, 46, 55], "quirk": [27, 46], "issu": [27, 46, 53], "tstub": [27, 28], "tnull": [27, 28], "tvhdl": [27, 28], "95": [27, 28], "pcb": [27, 28], "tpcb": [27, 28], "tfpga": [27, 28], "pal": [27, 28], "tpal": [27, 28], "sizer": [27, 28], "tverilog": [27, 28], "blif": [27, 28], "tblif": [27, 28], "abc": 29, "verif": 29, "eec": 29, "berkelei": 29, "edu": 29, "alanmi": 29, "asic": 29, "read_blif": 29, "subcircuit": 29, "explod": 29, "downstream": 30, "arch": 30, "parch": 30, "virtex": 30, "ppart": 30, "v50": 30, "pq240": 30, "vl": [30, 40, 42, 48, 49, 50, 54], "obsolet": [30, 41], "suitabl": 30, "unifi": 30, "macro": [30, 41, 48], "200": 30, "virtex2": 30, "ii": 30, "pro": 30, "els": [30, 34, 42, 43, 45, 50], "sig": 30, "in2": 30, "in1": 30, "in0": 30, "renam": 30, "resort": 30, "mangl": 30, "recollect": 30, "bu": [30, 44], "p10": 30, "p20": 30, "p21": 30, "p22": 30, "20": 30, "22": 30, "famili": 30, "loc": 30, "ibuf": 30, "obuf": 30, "cellref": 30, "my_gbuf": 30, "my_buf": 30, "gbuf": 30, "edf": 30, "edif2ngd": 30, "ngo": 30, "jedec": 32, "enter": [33, 41, 47, 50], "layout": 33, "pnetlist": 33, "altogeth": 33, "ofoo": [33, 41], "ivl_black_box": 33, "black": 33, "box": [33, 40, 43], "overridden": 33, "field": [33, 45], "tring": 33, "statist": 34, "tsizer": 34, "blink": 34, "mux": 34, "slice": 34, "unaccount": 34, "1e0": 35, "hello_world": [35, 39], "96": 35, "my_design": [37, 38, 42], "vhd": 37, "spread": [37, 38, 42], "pdebug": 37, "progress": [37, 41, 50, 55], "visit": 37, "pdepth": 37, "entiti": [37, 52], "depth": 37, "todo": 37, "behaviour": [37, 41, 45], "deviat": [37, 45], "past": 37, "driven": [37, 44], "std_logic_1164": 37, "dereferenc": 37, "compliant": [38, 41], "goal": 38, "project": [38, 40], "ansi": 38, "my_design_95": 38, "pspace": 38, "indent": 38, "pallowsign": 38, "pfilelin": 38, "pr1723367": 38, "partselsynth": 38, "inout": 38, "tran": 38, "vp": 38, "unrol": 38, "ivl_vers": 39, "s20221226": 39, "119": 39, "g8cb2e1a05": 39, "dirti": 39, "ivl_delay_select": 39, "vpi_modul": 39, "s_0x563c3c5d1540": 39, "t_0": 39, "file_nam": 39, "shebang": [39, 41], "did": [39, 45], "seen": 39, "multi": [40, 42], "outsid": [40, 47, 50, 53], "libext": 40, "ver": [40, 42], "white": [40, 48], "blank": [40, 48], "trail": [40, 41, 48], "filenam": [40, 48], "panel": 40, "dialog": 40, "unix": [40, 42, 53], "vendor": [40, 50], "slash": 40, "proj_librari": 40, "prim": 40, "syntact": 40, "hypothet": 40, "whole": 40, "concis": 40, "rich": 40, "unusu": 40, "hundr": [40, 42, 49], "judici": 40, "dir": [40, 48], "nocas": 40, "insensit": 40, "octob": [40, 41], "2016": [40, 41], "snapshot": [40, 41, 49, 51], "incdir": [40, 50], "omit": [40, 44], "toupper": 40, "uppercas": 40, "fat": 40, "mung": 40, "meant": 40, "emerg": 40, "tolow": 40, "lowercas": 40, "workdir": 40, "summar": 41, "cmdfile": 41, "eval_tre": 41, "selector": 41, "compin": 41, "supoprt": 41, "g2001": 41, "gno": [41, 44, 45], "noconfig": 41, "config": [41, 47, 52], "2009": 41, "ieee1800": 41, "novemb": 41, "ongo": 41, "2012": 41, "am": [41, 48], "2008": 41, "std": 41, "xtype": [41, 44, 45], "io": 41, "permut": 41, "ca": 41, "eval": 41, "sole": 41, "side": 41, "loss": 41, "complianc": [41, 45], "rh": 41, "lossless": 41, "event_express": 41, "insid": 41, "enclos": [41, 45], "risk": 41, "infinit": [41, 54], "incomplet": 41, "_mode_": 41, "rare": [41, 50], "Be": [41, 49], "2014": 41, "indirectli": 41, "vpi_us": [41, 53], "wanachron": 41, "wimplicit": 41, "wmacro": 41, "wportbind": 41, "wselect": 41, "wtimescal": 41, "wsensit": 41, "anachron": 41, "undecor": 41, "longer": 41, "notabl": 41, "xilix": 41, "02": 41, "06": 41, "redefinit": 41, "redefin": 41, "portbind": 41, "dangl": 41, "inconsist": 41, "infloop": 41, "henc": 41, "fatal": 41, "suspect": [41, 54], "runtin": 41, "verifi": 41, "indeterninit": 41, "prescrib": 41, "2015": 41, "suf": 41, "sv": 41, "familiar": [41, 44], "preprocess": [41, 45, 48, 50], "dkei": 41, "src1": 41, "src2": 41, "topmodul": 41, "tmin": 41, "ttyp": 41, "tmax": 41, "shown": [42, 49], "prompt": [42, 54], "vlg": 42, "book": 42, "learn": [42, 49], "trivial": 42, "our": [42, 49], "editor": 42, "organ": [42, 53], "moder": 42, "group": 42, "tini": 42, "counter_tb": [42, 43], "17": [42, 43], "29": [42, 43], "monitor": [42, 43, 45], "0d": [42, 43], "simplest": [42, 50], "across": [42, 44], "medium": 42, "cumbersom": 42, "techniqu": [42, 50], "commandfil": 42, "file_list": 42, "save": [42, 49, 53], "troubl": [42, 49], "complic": [42, 53], "certainli": [42, 45], "sroot": 42, "candid": [42, 50], "unwant": 42, "dozen": 42, "advanc": [42, 55], "gtk": 43, "lxt": 43, "prepackag": [43, 47], "fst": 43, "dumpfil": [43, 55], "dumpvar": [43, 55], "absent": 43, "513": 43, "dsn": 43, "click": [43, 49], "drag": 43, "baselin": 44, "favour": 44, "unscal": 44, "stime": 44, "random": [44, 53], "mersenn": 44, "twister": 44, "mt19937": 44, "algorithm": [44, 50], "excel": 44, "readmemb": 44, "readmemh": [44, 50], "popul": [44, 47], "mem": 44, "datafil": 44, "autom": [44, 45], "gxtype": [44, 45], "propos": 44, "backward": 44, "31": [44, 50], "23": [44, 45], "face": 44, "mix": 44, "exhaust": 45, "underflow": [45, 50], "hand": [45, 50], "expans": 45, "33": 45, "eda": [45, 50], "gstrict": 45, "treatment": 45, "encount": [45, 52], "synthesis": 45, "recommend": 45, "mismatch": 45, "regardless": 45, "localparam": 45, "value1": 45, "d3": 45, "d2": 45, "value2": 45, "d5": 45, "mechan": 45, "substitut": [45, 48, 50], "escap": [45, 53], "unaccept": 45, "macro_a": 45, "endif": 45, "weird": 45, "dut": [45, 50], "could": [45, 50, 54], "regard": 45, "callback": 45, "permit": 45, "harmless": 45, "guarante": 45, "uniqu": [45, 50], "exploit": 45, "3g": 45, "top_level": 45, "rval": 45, "1234567890": 45, "3e": 45, "3f": 45, "234567890": 45, "23e": 45, "09": 45, "235e": 45, "123": 45, "235": 45, "0t": 45, "reli": 45, "timeformat": 45, "5t": 45, "underscor": 45, "st0_st1_pu1_hiz": 45, "theoret": 45, "On": [45, 49], "aggress": 45, "sizeof": 45, "slightli": [45, 50], "cygwin": 47, "mingw": 47, "obtain": 47, "stabl": 47, "email": 47, "yourpublicemail": 47, "forget": 47, "base_vers": 47, "su": 47, "mac": 47, "bsd": 47, "xcode": 47, "appl": 47, "brew": 47, "echo": 47, "opt": 47, "bash_profil": 47, "homebrew": 47, "mingw64": 47, "w64": 47, "mingw32": 47, "writeup": 47, "et": 47, "al": 47, "nativ": 47, "gotten": 47, "recip": 47, "accompani": 47, "dname": 48, "predefin": [48, 50], "meaning": [48, 55], "colon": 48, "open": [48, 49], "vlh": 48, "tracker": 49, "brows": 49, "green": 49, "ask": 49, "titl": 49, "anyon": 49, "reproduc": 49, "explain": [49, 53], "characterist": 49, "No": 49, "wade": 49, "starther": 49, "prepar": [49, 55], "win": 49, "incorrect": 49, "hear": 49, "summarili": 49, "everyon": 49, "grief": 49, "reappear": 49, "1998": 49, "minor": 49, "deriv": 49, "editori": 49, "fold": 49, "submiss": 49, "categori": 49, "insist": 49, "materi": [49, 53], "gpl": 49, "mimic": 50, "exercis": 50, "great": [50, 54], "meet": 50, "throw": 50, "awai": [50, 55], "retest": 50, "blur": 50, "ifndef": 50, "macropreprocessor": 50, "gone": 50, "represent": 50, "safe": [50, 53], "useless": 50, "spontan": 50, "inconveni": 50, "told": 50, "insert": 50, "and2": 50, "belong": [50, 53], "briefli": 50, "quickli": 50, "grow": 50, "beyond": 50, "lack": 50, "flexibl": 50, "cf": 50, "micro": 50, "rom": 50, "imag": 50, "sqrt32": 50, "rdy": 50, "acc2": 50, "bitl": 50, "bit2": 50, "guess2": 50, "endtask": 50, "recompil": [50, 56], "35": 50, "sqrt_plusarg": 50, "osqrt_plusarg": 50, "81": 50, "testbench": [50, 55], "y1": 50, "y2": 50, "rdy1": 50, "rdy2": 50, "dut1": 50, "dut2": 50, "tediou": 50, "batch": 50, "hex": 50, "1a": 50, "18": 50, "osqrt_readmem": 50, "sqrt_readmem": 50, "ivl_do_not_elid": 51, "20140619": 51, "elid": 51, "descend": [51, 54], "stretch": 51, "yydebug": 52, "lower": 52, "pkg": 52, "test1": 52, "test2": 52, "test3": 52, "therein": 52, "portion": 53, "impract": 53, "straight": 53, "articl": 53, "tip": 53, "topic": 53, "msampl": 53, "freshli": 53, "hello_regist": 53, "legitim": 53, "lvpi": 53, "libvpi": 53, "linker": 53, "fuss": 53, "hello_compiletf": 53, "user_data": 53, "hello_calltf": 53, "vpi_printf": 53, "s_vpi_systf_data": 53, "tf_data": 53, "vpisystask": 53, "tfname": 53, "calltf": 53, "sizetf": 53, "ohello": 53, "mhello": 53, "solut": 53, "iverilog_vpi_module_path": 53, "analys": 53, "prior": 53, "sft": 53, "vpisysfuncint": 53, "bitstor": 53, "vpisysfuncr": 53, "realtobit": 53, "vpisysfuncs": 53, "ordinari": 53, "swapnajit": 53, "mittra": 53, "isbn": 53, "7923": 53, "8477": 53, "handbook": 53, "stuart": 53, "sutherland": 53, "8489": 53, "foo_clock": 54, "b000": 54, "250": 54, "25": 54, "flush": 54, "synonym": [54, 55], "cont": 54, "instrument": 54, "interrupt": 54, "catch": 54, "533928600": 54, "stuck": 54, "rummag": 54, "probe": 54, "termim": 54, "unbuff": 55, "logfil": 55, "mci": 55, "stdlog": 55, "friend": 55, "stimul": 55, "quiet": 55, "mcd": 55, "descriptor": 55, "kick": 55, "clean": 55, "plu": 55, "cost": 55, "lxt2": 55, "lxt2format": 55, "chosen": 55, "annot": 55, "iverilog_dump": 55, "straightforward": 56, "aris": 56, "mitig": 56, "unload": 56}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"get": [0, 23, 42], "start": [0, 42], "contributor": 0, "icaru": [0, 4, 15, 17, 24, 27, 28, 42, 44, 45, 46, 47, 50], "verilog": [0, 4, 13, 15, 16, 17, 19, 24, 27, 28, 36, 38, 42, 44, 45, 46, 50, 51], "specif": [0, 9, 47], "configur": [0, 47], "option": [0, 25, 47, 55], "compil": [0, 3, 5, 6, 9, 17, 23, 30, 45, 47, 50, 53], "linux": [0, 47], "regress": [0, 25], "test": [0, 25], "fork": 0, "branch": 0, "pull": [0, 49], "request": [0, 49], "glossari": 1, "cadenc": [2, 53], "pli1": 2, "modul": [2, 6, 9, 17, 21, 23, 50, 53], "develop": [3, 24], "guid": [3, 47], "compon": 3, "runtim": [3, 50], "The": [3, 5, 6, 14, 23, 25, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 50], "core": [3, 5], "further": 3, "read": 3, "attribut": [4, 33, 51], "name": [4, 14, 40], "convent": [4, 14], "To": [4, 23, 49], "control": 4, "synthesi": [4, 51], "misc": 4, "ivl": [5, 13, 48], "loadabl": [6, 9], "target": [6, 9, 14, 28, 30, 41], "api": [6, 9], "ivl_target": 6, "creat": [6, 49], "config": 6, "file": [6, 13, 26, 40, 48, 50], "instal": [6, 47], "lpm": [6, 7], "devic": [6, 30], "what": 7, "i": [7, 45], "intern": 7, "us": [7, 16, 17, 47, 50, 53], "Of": [7, 8], "netlist": 8, "format": [8, 23, 40, 45, 52], "structur": [8, 14, 23, 38], "item": 8, "netnod": 8, "netnet": 8, "link": 8, "behavior": 8, "netproctop": 8, "netproc": 8, "deriv": 8, "class": 8, "interact": [8, 54], "And": [8, 23], "netassign_": 8, "memori": 8, "express": [8, 9, 45], "bit": [8, 44, 45], "width": [8, 45], "netesign": 8, "hierarchi": 8, "In": 8, "scope": [8, 21, 23, 45], "represent": 8, "task": [8, 21, 23, 44], "time": [8, 45], "scale": 8, "load": [9, 21], "about": 9, "type": [9, 25, 44, 53], "ieee1364": 10, "note": 10, "standard": [10, 16], "issu": [10, 38, 49], "miscellan": 11, "swift": 12, "model": 12, "support": [12, 24, 37, 55], "preliminari": 12, "xilinx": [13, 30], "hint": 13, "run": 13, "gener": [13, 14, 23, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 41, 45, 48], "pcf": 13, "download": 13, "vvp": [14, 18, 19, 21, 23, 25, 39, 54, 55, 56], "symbol": [14, 23], "functor": [14, 23], "web": 14, "vpi": [15, 17, 21, 23, 53], "A": [16, 17, 43, 49, 53], "math": 16, "librari": [16, 45, 50, 52, 56], "licens": 16, "mathemat": 16, "function": [16, 21, 23, 44, 45, 53], "constant": [16, 45], "thank": 16, "trace": 17, "debug": 18, "aid": 18, "For": 18, "virtual": 19, "processor": 19, "execut": [20, 23], "instruct": [20, 23], "opcod": [20, 39], "flag": [20, 33, 37, 38, 41, 48, 52, 55], "within": [21, 45], "system": [21, 44, 45, 53], "call": [21, 23], "argument": [21, 45, 55], "variabl": [21, 23, 40, 55], "thread": [22, 23], "detail": 22, "simul": [23, 50], "engin": 23, "header": 23, "syntax": 23, "label": 23, "number": 23, "statement": [23, 45], "paramet": [23, 33, 45], "dff": 23, "latch": 23, "udp": 23, "net": 23, "cast": 23, "delai": 23, "path": 23, "arrai": [23, 45], "index": 23, "event": 23, "resolv": 23, "part": [23, 45], "select": [23, 45], "concaten": [23, 45], "repeat": [23, 45], "vector": [23, 45], "substitut": [23, 40], "reduct": 23, "logic": 23, "expans": 23, "forc": [23, 45], "old": 23, "method": 23, "remov": 23, "me": 23, "new": 23, "implement": 23, "arithmet": 23, "compar": 23, "shifter": 23, "truth": 23, "tabl": [23, 27], "relationship": 23, "between": 23, "how": [23, 49, 53], "from": [23, 47], "There": 23, "here": 23, "automat": [23, 50], "alloc": 23, "suit": 25, "descript": 25, "sourc": [25, 47], "requir": 25, "gold": 25, "iverilog": [25, 41], "arg": [25, 40], "extend": [25, 44, 45, 55], "With": [26, 42, 43], "version": 26, "inform": 26, "content": 27, "indic": 27, "blif": 29, "code": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 44], "tblif": 29, "usag": [29, 46], "limit": [29, 37, 38, 45], "fpga": 30, "tfpga": 30, "invok": 30, "THE": 30, "xnf": 30, "root": 30, "port": 30, "edif": 30, "pad": 30, "AND": 30, "pin": 30, "assign": [30, 45], "special": 30, "WITH": 30, "foundat": 30, "null": 31, "tnull": 31, "pal": 32, "tpal": 32, "pcb": 33, "tpcb": 33, "invoc": [33, 37, 38], "summari": [33, 40], "sizer": 34, "analyz": 34, "tvvp": [34, 39], "stub": 35, "tstub": 35, "tverilog": 36, "vhdl": 37, "tvhdl": 37, "construct": 37, "signal": 37, "valu": [37, 45], "resolut": [37, 45], "Not": [37, 45], "other": [37, 53], "95": 38, "tvlog95": 38, "cannot": 38, "convert": 38, "1995": 38, "compat": 38, "known": 38, "command": [40, 41, 50, 52, 55], "comment": 40, "plu": 40, "an": [40, 45], "exampl": [40, 43, 53], "line": [41, 48, 52, 55], "preprocessor": [41, 48, 50], "elabor": [41, 50], "waveform": 43, "gtkwave": 43, "work": [43, 53], "extens": 44, "is_sign": 44, "expr": 44, "sizeof": 44, "simtim": 44, "mti_random": 44, "mti_dist_uniform": 44, "readmempath": 44, "finish_and_return": 44, "data": [44, 50], "quirk": 45, "unsiz": 45, "numer": 45, "ar": 45, "32": 45, "macro": [45, 50], "defin": 45, "doesn": 45, "t": 45, "continu": 45, "l": 45, "can": 45, "implicit": 45, "wire": 45, "dump": 45, "word": 45, "dumpvar": 45, "referenc": 45, "declar": 45, "unnam": 45, "block": 45, "g": 45, "specifi": 45, "v": 45, "displai": 45, "deassign": 45, "releas": 45, "sign": 45, "awar": 45, "built": 45, "mai": 45, "Be": 45, "evalu": 45, "vpiscop": 45, "iter": 45, "object": 45, "0": 45, "race": 45, "unix": 47, "macintosh": 47, "o": 47, "x": 47, "cross": 47, "window": 47, "msys2": 47, "ivlpp": 48, "locat": 48, "includ": 48, "direct": 48, "report": 49, "good": 49, "make": 50, "advanc": 50, "input": 50, "optim": 51, "vhdlpp": 52, "It": 53, "return": 53, "pli": 53, "refer": 53, "mode": 54, "enter": 54, "brows": 54, "design": 54, "leav": 54, "vcd": 55, "fst": 55, "lxt": 55, "sdf": 55, "environ": 55}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Getting Started as a Contributor": [[0, "getting-started-as-a-contributor"]], "Getting Icarus Verilog": [[0, "getting-icarus-verilog"]], "Icarus Specific Configuration Options": [[0, "icarus-specific-configuration-options"], [47, "icarus-specific-configuration-options"]], "Compiling on Linux": [[0, "compiling-on-linux"]], "Regression Tests": [[0, "regression-tests"]], "Forks, Branches and Pull Requests": [[0, "forks-branches-and-pull-requests"]], "Glossary": [[1, "glossary"]], "Cadence PLI1 Modules": [[2, "cadence-pli1-modules"]], "Developer Guide": [[3, "developer-guide"]], "Compiler Components": [[3, "compiler-components"]], "Runtime Components": [[3, "runtime-components"]], "The Core Compiler": [[3, "the-core-compiler"]], "Further Reading": [[3, "further-reading"]], "Icarus Verilog Attributes": [[4, "icarus-verilog-attributes"]], "Attribute Naming Conventions": [[4, "attribute-naming-conventions"]], "Attributes To Control Synthesis": [[4, "attributes-to-control-synthesis"]], "Misc": [[4, "misc"]], "IVL - The Core Compiler": [[5, "ivl-the-core-compiler"]], "Loadable Target API (ivl_target)": [[6, "loadable-target-api-ivl-target"]], "The Target Module API": [[6, "the-target-module-api"]], "Compiling Target Modules": [[6, "compiling-target-modules"], [9, "compiling-target-modules"]], "Creating the Target Config File": [[6, "creating-the-target-config-file"]], "Installing the Target Module": [[6, "installing-the-target-module"]], "LPM Devices": [[6, "lpm-devices"]], "What Is LPM": [[7, "what-is-lpm"]], "Internal Uses Of LPM": [[7, "internal-uses-of-lpm"]], "Netlist Format": [[8, "netlist-format"]], "Structural Items: NetNode and NetNet": [[8, "structural-items-netnode-and-netnet"]], "Structural Links": [[8, "structural-links"]], "Behavioral Items: NetProcTop, NetProc and derived classes": [[8, "behavioral-items-netproctop-netproc-and-derived-classes"]], "Interaction Of Behavioral And Structural: NetAssign_": [[8, "interaction-of-behavioral-and-structural-netassign"]], "Memories": [[8, "memories"]], "Expressions": [[8, "expressions"]], "Expression Bit Width": [[8, "expression-bit-width"]], "Interaction Of Expressions And Structure: NetESignal": [[8, "interaction-of-expressions-and-structure-netesignal"]], "Hierarchy In Netlists": [[8, "hierarchy-in-netlists"]], "Scope Representation In Netlists": [[8, "scope-representation-in-netlists"]], "Tasks In Netlists": [[8, "tasks-in-netlists"]], "Time Scale In Netlists": [[8, "time-scale-in-netlists"]], "Loadable Targets": [[9, "loadable-targets"]], "Loading Target Modules": [[9, "loading-target-modules"]], "Loadable Target Module Api": [[9, "loadable-target-module-api"]], "About Specific Expression Types": [[9, "about-specific-expression-types"]], "IEEE1364 Notes": [[10, "ieee1364-notes"]], "Standardization Issues": [[10, "standardization-issues"]], "Miscellaneous": [[11, "miscellaneous"]], "Swift Model Support (Preliminary)": [[12, "swift-model-support-preliminary"]], "Xilinx Hint": [[13, "xilinx-hint"]], "Verilog:": [[13, "verilog"]], "Running ivl:": [[13, "running-ivl"]], "Generating .pcf files:": [[13, "generating-pcf-files"]], "Downloading:": [[13, "downloading"]], "The VVP Target": [[14, "the-vvp-target"]], "Symbol Name Conventions": [[14, "symbol-name-conventions"]], "General Functor Web Structure": [[14, "general-functor-web-structure"]], "VPI in Icarus Verilog": [[15, "vpi-in-icarus-verilog"]], "Verilog-A math library": [[16, "verilog-a-math-library"]], "License.": [[16, "license"]], "Standard Verilog-A Mathematical Functions.": [[16, "standard-verilog-a-mathematical-functions"]], "Standard Verilog-A Mathematical Constants.": [[16, "standard-verilog-a-mathematical-constants"]], "Using the Library.": [[16, "using-the-library"]], "Thanks": [[16, "thanks"]], "VPI Modules in Icarus Verilog": [[17, "vpi-modules-in-icarus-verilog"]], "Compiling A VPI Module": [[17, "compiling-a-vpi-module"]], "Tracing VPI Use": [[17, "tracing-vpi-use"]], "Debug Aids For VVP": [[18, "debug-aids-for-vvp"]], "VVP - Verilog Virtual Processor": [[19, "vvp-verilog-virtual-processor"]], "Executable Instruction Opcodes": [[20, "executable-instruction-opcodes"]], "Flags": [[20, "flags"], [33, "flags"], [37, "flags"]], "VPI Within VVP": [[21, "vpi-within-vvp"]], "Loading VPI Modules": [[21, "loading-vpi-modules"]], "System Task Calls": [[21, "system-task-calls"]], "System Function Calls": [[21, "system-function-calls"]], "System Task/Function Arguments": [[21, "system-task-function-arguments"]], "Scopes": [[21, "scopes"]], "Variables": [[21, "variables"]], "Thread Details": [[22, "thread-details"]], "VVP Simulation Engine": [[23, "vvp-simulation-engine"]], "General Format": [[23, "general-format"]], "Header Syntax": [[23, "header-syntax"]], "Labels and Symbols": [[23, "labels-and-symbols"]], "Numbers": [[23, "numbers"]], "Scope Statements": [[23, "scope-statements"]], "Parameter Statements": [[23, "parameter-statements"]], "Functor Statements": [[23, "functor-statements"]], "DFF and Latch Statements": [[23, "dff-and-latch-statements"]], "UDP Statements": [[23, "udp-statements"]], "Variable Statements": [[23, "variable-statements"]], "Net Statements": [[23, "net-statements"]], "Cast Statements": [[23, "cast-statements"]], "Delay Statements": [[23, "delay-statements"]], "Module Path Delay Statements": [[23, "module-path-delay-statements"]], "Array Index Statements": [[23, "array-index-statements"]], "Event Statements": [[23, "event-statements"]], "Resolver Statements": [[23, "resolver-statements"]], "Part Select Statements": [[23, "part-select-statements"]], "Part Concatenation Statements": [[23, "part-concatenation-statements"]], "Repeat Vector Statements": [[23, "repeat-vector-statements"]], "Substitution Statements": [[23, "substitution-statements"]], "Reduction Logic": [[23, "reduction-logic"]], "Expansion Logic": [[23, "expansion-logic"]], "Force Statements (old method - remove me)": [[23, "force-statements-old-method-remove-me"]], "Force Statements (new method - implement me)": [[23, "force-statements-new-method-implement-me"]], "Structural Arithmetic Statements": [[23, "structural-arithmetic-statements"]], "Structural Compare Statements": [[23, "structural-compare-statements"]], "Structural Shifter Statements": [[23, "structural-shifter-statements"]], "Structural Function Calls": [[23, "structural-function-calls"]], "Thread Statements": [[23, "thread-statements"]], "Vpi Task/Function Calls": [[23, "vpi-task-function-calls"]], "Truth Tables": [[23, "truth-tables"]], "Executable Instructions": [[23, "executable-instructions"]], "The Relationship Between Functors, Threads And Events": [[23, "the-relationship-between-functors-threads-and-events"]], "VVP Compilation And Execution": [[23, "vvp-compilation-and-execution"]], "How To Get From There To Here": [[23, "how-to-get-from-there-to-here"]], "Automatically Allocated Scopes": [[23, "automatically-allocated-scopes"]], "Icarus Verilog Developer Support": [[24, "icarus-verilog-developer-support"]], "The Regression Test Suite": [[25, "the-regression-test-suite"]], "Test Descriptions": [[25, "test-descriptions"]], "source (required)": [[25, "source-required"]], "type (required)": [[25, "type-required"]], "gold (optional)": [[25, "gold-optional"]], "iverilog-args (optional)": [[25, "iverilog-args-optional"]], "vvp-args (optional)": [[25, "vvp-args-optional"]], "vvp-args-extended (optional)": [[25, "vvp-args-extended-optional"]], "Files With Version Information": [[26, "files-with-version-information"]], "Icarus Verilog": [[27, "icarus-verilog"]], "Contents:": [[27, null]], "Indices and tables": [[27, "indices-and-tables"]], "The Icarus Verilog Targets": [[28, "the-icarus-verilog-targets"]], "The BLIF Code Generator (-tblif)": [[29, "the-blif-code-generator-tblif"]], "USAGE": [[29, "usage"]], "LIMITATIONS": [[29, "limitations"]], "The FPGA Code Generator (-tfpga)": [[30, "the-fpga-code-generator-tfpga"]], "INVOKING THE FPGA TARGET": [[30, "invoking-the-fpga-target"]], "XNF ROOT PORTS": [[30, "xnf-root-ports"]], "EDIF ROOT PORTS": [[30, "edif-root-ports"]], "PADS AND PIN ASSIGNMENT": [[30, "pads-and-pin-assignment"]], "SPECIAL DEVICES": [[30, "special-devices"]], "COMPILING WITH XILINX FOUNDATION": [[30, "compiling-with-xilinx-foundation"]], "The null Code Generator (-tnull)": [[31, "the-null-code-generator-tnull"]], "The PAL Code Generator (-tpal)": [[32, "the-pal-code-generator-tpal"]], "The PCB Code Generator (-tpcb)": [[33, "the-pcb-code-generator-tpcb"]], "Invocation": [[33, "invocation"], [37, "invocation"], [38, "invocation"]], "Attributes Summary": [[33, "attributes-summary"]], "Parameters Summary": [[33, "parameters-summary"]], "The sizer Code Analyzer (-tvvp)": [[34, "the-sizer-code-analyzer-tvvp"]], "The stub Code Generator (-tstub)": [[35, "the-stub-code-generator-tstub"]], "The Verilog Code Generator (-tverilog)": [[36, "the-verilog-code-generator-tverilog"]], "The VHDL Code Generator (-tvhdl)": [[37, "the-vhdl-code-generator-tvhdl"]], "Supported Constructs": [[37, "supported-constructs"]], "Limitations": [[37, "limitations"]], "Signal Values and Resolution": [[37, "signal-values-and-resolution"]], "Constructs Not Supported": [[37, "constructs-not-supported"]], "Other Limitations": [[37, "other-limitations"]], "The Verilog \u201895 Code Generator (-tvlog95)": [[38, "the-verilog-95-code-generator-tvlog95"]], "Generator Flags": [[38, "generator-flags"]], "Structures that cannot be converted to 1995 compatible Verilog": [[38, "structures-that-cannot-be-converted-to-1995-compatible-verilog"]], "Known Issues and Limitations": [[38, "known-issues-and-limitations"]], "The vvp Code Generator (-tvvp)": [[39, "the-vvp-code-generator-tvvp"]], "Opcodes": [[39, "opcodes"]], "Command File Format": [[40, "command-file-format"]], "Comments": [[40, "comments"]], "Plus-args": [[40, "plus-args"]], "File Names": [[40, "file-names"]], "Variable Substitution": [[40, "variable-substitution"]], "An Example": [[40, "an-example"]], "Summary": [[40, "summary"]], "iverilog Command Line Flags": [[41, "iverilog-command-line-flags"]], "General": [[41, "general"]], "Preprocessor Flags": [[41, "preprocessor-flags"]], "Elaboration Flags": [[41, "elaboration-flags"]], "Target Flags": [[41, "target-flags"]], "Getting Started With Icarus Verilog": [[42, "getting-started-with-icarus-verilog"]], "Waveforms With GTKWave": [[43, "waveforms-with-gtkwave"]], "A Working Example": [[43, "a-working-example"]], "Icarus Verilog Extensions": [[44, "icarus-verilog-extensions"]], "System Functions": [[44, "system-functions"]], "$is_signed()": [[44, "is-signed-expr"]], "$bits(), $sizeof()": [[44, "bits-expr-sizeof-expr"]], "$simtime()": [[44, "simtime"]], "$mti_random(), $mti_dist_uniform": [[44, "mti-random-mti-dist-uniform"]], "System Tasks": [[44, "system-tasks"]], "$readmempath": [[44, "readmempath"]], "$finish_and_return(code)": [[44, "finish-and-return-code"]], "Extended Verilog Data Types": [[44, "extended-verilog-data-types"]], "Icarus Verilog Quirks": [[45, "icarus-verilog-quirks"]], "Unsized Numeric Constants are Not Limited to 32 Bits": [[45, "unsized-numeric-constants-are-not-limited-to-32-bits"]], "Unsized Expressions": [[45, "unsized-expressions"]], "Unsized Parameters": [[45, "unsized-parameters"]], "Unsized Expressions as Arguments to Concatenation": [[45, "unsized-expressions-as-arguments-to-concatenation"]], "Scope of Macro Defines Doesn\u2019t Extend into Libraries": [[45, "scope-of-macro-defines-doesn-t-extend-into-libraries"]], "Continuous Assign L-Values Can Implicit-Define Wires": [[45, "continuous-assign-l-values-can-implicit-define-wires"]], "Dumping Array Words ($dumpvars)": [[45, "dumping-array-words-dumpvars"]], "Referencing Declarations Within an Unnamed Generate Block": [[45, "referencing-declarations-within-an-unnamed-generate-block"]], "%g/%G Format Specifiers": [[45, "g-g-format-specifiers"]], "%t Time Format Specifier Can Specify Width": [[45, "t-time-format-specifier-can-specify-width"]], "%v Format Specifier Can Display Vectors": [[45, "v-format-specifier-can-display-vectors"]], "Assign/Deassign and Force/Release of Bit/Part Selects": [[45, "assign-deassign-and-force-release-of-bit-part-selects"]], "repeat Statement is Sign Aware": [[45, "repeat-statement-is-sign-aware"]], "Built-in System Functions May Be Evaluated at Compile Time": [[45, "built-in-system-functions-may-be-evaluated-at-compile-time"]], "vpiScope Iterator on vpiScope Objects": [[45, "vpiscope-iterator-on-vpiscope-objects"]], "Time 0 Race Resolution": [[45, "time-0-race-resolution"]], "Icarus Verilog Usage": [[46, "icarus-verilog-usage"]], "Installation Guide": [[47, "installation-guide"]], "Installation From Source": [[47, "installation-from-source"]], "Compiling on Linux/Unix": [[47, "compiling-on-linux-unix"]], "Compiling on Macintosh OS X": [[47, "compiling-on-macintosh-os-x"]], "Cross-Compiling for Windows": [[47, "cross-compiling-for-windows"]], "Compiling for Windows using MSYS2": [[47, "compiling-for-windows-using-msys2"]], "IVLPP - IVL Preprocessor": [[48, "ivlpp-ivl-preprocessor"]], "Flags File": [[48, "flags-file"]], "Locating Included Files": [[48, "locating-included-files"]], "Generated Line Directives": [[48, "generated-line-directives"]], "Reporting Issues": [[49, "reporting-issues"]], "Good Issue Reporting": [[49, "good-issue-reporting"]], "How To Create A Pull Request": [[49, "how-to-create-a-pull-request"]], "Simulation Using Icarus Verilog": [[50, "simulation-using-icarus-verilog"]], "Compilation and Elaboration": [[50, "compilation-and-elaboration"]], "Making and Using Libraries": [[50, "making-and-using-libraries"]], "The Macro Preprocessor": [[50, "the-macro-preprocessor"]], "Automatic Module Libraries": [[50, "automatic-module-libraries"]], "Advanced Command Files": [[50, "advanced-command-files"]], "Input Data at Runtime": [[50, "input-data-at-runtime"]], "Verilog Attributes": [[51, "verilog-attributes"]], "Optimizations": [[51, "optimizations"]], "Synthesis": [[51, "synthesis"]], "vhdlpp Command Line Flags": [[52, "vhdlpp-command-line-flags"]], "Library Format": [[52, "library-format"]], "Using VPI": [[53, "using-vpi"]], "How It Works": [[53, "how-it-works"]], "Compiling VPI Modules": [[53, "compiling-vpi-modules"]], "A Worked Example": [[53, "a-worked-example"]], "System Function Return Types": [[53, "system-function-return-types"]], "Cadence PLI Modules": [[53, "cadence-pli-modules"]], "Other References": [[53, "other-references"]], "VVP Interactive Mode": [[54, "vvp-interactive-mode"]], "Enter Interactive Mode": [[54, "enter-interactive-mode"]], "Browsing the Design": [[54, "browsing-the-design"]], "Leave Interactive Mode": [[54, "leave-interactive-mode"]], "VVP Command Line Flags": [[55, "vvp-command-line-flags"]], "Options/Flags": [[55, "options-flags"]], "Extended Arguments": [[55, "extended-arguments"]], "VCD/FST/LXT Arguments": [[55, "vcd-fst-lxt-arguments"]], "SDF Support": [[55, "sdf-support"]], "Environment Variables": [[55, "environment-variables"]], "VVP as a library": [[56, "vvp-as-a-library"]]}, "indexentries": {}})