OpenVAF
An innovative Verilog-A compiler
File Explorer
Download Latest Version (.zip)- config.toml
- config.yml
- LICENSE_APACHE
- LICENSE_BSD3_INSTANT
- LICENSE_MIT
- verilogae.h
- verilogae.hpp
- amplifier.va
- asmhemt.va
- LICENSE.txt
- NOTICE.txt
- bsim3.va
- LICENSE
- readme
- bsim4.va
- LICENSE
- readme
- bsim6.va
- bsimbulk.va
- LICENSE.txt
- NOTICE.txt
- bsimcmg.va
- bsimcmg_body.include
- bsimcmg_checking.include
- bsimcmg_initialization.include
- bsimcmg_macros.include
- bsimcmg_noise.include
- bsimcmg_parameters.include
- bsimcmg_variables.include
- bsimimg.va
- bsimimg_binning.include
- bsimimg_body.include
- bsimimg_sp_new.include
- common_defs.include
- LICENSE.txt
- NOTICE.txt
- bsimimg.va
- bsimimg_binning.include
- bsimimg_body.include
- bsimimg_sp_new.include
- common_defs.include
- LICENSE.txt
- NOTICE.txt
- bsimsoi.va
- cccs.va
- current_source.va
- diode.va
- diode_cmc.va
- DIODE_CMC_InitModel.include
- DIODE_CMC_macrodefs.include
- DIODE_CMC_parlist.include
- DIODE_CMC_SIMKIT_macrodefs.include
- DIODE_CMC_varlist1.include
- DIODE_CMC_varlist2.include
- Updates.txt
- ekv.orig
- ekv.va
- parser_diagnostics.log
- patch.py
- readme
- ekv_longchannel.va
- hicuml2.va
- hisim2.va
- HSM2_analyticalPs0.inc
- HSM2_depmos.inc
- HSM2_depmos2.inc
- HSM2_depmos3.inc
- HSM2_eval_aging.inc
- HSM2_eval_newPT.inc
- HSM2_iterativePs0.inc
- frontend.log
- hisimhv.va
- hisimhv_n4.va
- hisimhv_n5.va
- HSMHV_analyticalPs0.inc
- HSMHV_depmos.inc
- HSMHV_depmos2.inc
- HSMHV_depmos3.inc
- HSMHV_eval_aging.inc
- HSMHV_eval_dio.inc
- HSMHV_eval_loverLim.inc
- HSMHV_eval_newPT.inc
- HSMHV_eval_Overlap.inc
- HSMHV_eval_qover.inc
- HSMHV_eval_rdrift.inc
- HSMHV_eval_rdrifts.inc
- HSMHV_iterativePs0.inc
- HSMHV_macrosAndDefs.inc
- HSMHV_module.inc
- HSMHV_temp_eval.inc
- HSMHV_temp_eval_dio.inc
- HSMHV_temp_eval_rdri.inc
- HSMHV_temp_eval_rdris.inc
- LICENSE.txt
- NOTICE.txt
- parser_diagnostics.log
- hisimsotb.va
- bjt505.va
- bjtd505.va
- bjtd505t.va
- evaluate.inc
- frontdef.inc
- initialize.inc
- IP_disclaimer_license.txt
- mextram.va
- noise.inc
- op_print.inc
- opinfo.inc
- opvars.inc
- parameters.inc
- tscaling.inc
- variables.inc
- VERSION
- LICENSE.txt
- mvsg_cmc.va
- NOTICE.txt
- Common102_macrodefs.include
- IP_ACKNOWLEDGMENT
- IP_NOTICE_DISCLAIMER_LICENSE
- JUNCAP200_InitModel.include
- JUNCAP200_macrodefs.include
- JUNCAP200_parlist.include
- JUNCAP200_varlist1.include
- JUNCAP200_varlist2.include
- psp102.va
- PSP102_binning.include
- PSP102_binpars.include
- PSP102_ChargesNQS.include
- PSP102_InitNQS.include
- PSP102_macrodefs.include
- PSP102_module.include
- psp102_nqs.va
- PSP102_nqs_macrodefs.include
- psp102b.va
- psp102b_nqs.va
- psp102e.va
- psp102e_nqs.va
- releasenotesPSP102.txt
- Common103_macrodefs.include
- foo
- juncap200.va
- JUNCAP200_InitModel.include
- JUNCAP200_macrodefs.include
- JUNCAP200_parlist.include
- JUNCAP200_varlist.include
- psp103.va
- PSP103_ChargesNQS.include
- PSP103_InitNQS.include
- PSP103_macrodefs.include
- PSP103_module.include
- psp103_nqs.va
- PSP103_nqs_macrodefs.include
- PSP103_parlist.include
- PSP103_scaling.include
- psp103t.va
- releasenotesPSP103p7.txt
- resistor.va
- strings.va
- vccs.va
- lib.rs
- Cargo.toml
- lib.rs
- tests.rs
- Cargo.lock
- Cargo.toml
- LICENSE_APACHE
- LICENSE_MIT
- README.md
- tests.rs
- tests.rs
- tests.rs
- tests.rs
- lib.rs
- map.rs
- node.rs
- path.rs
- pool.rs
- set.rs
- tests.rs
- Cargo.toml
- README.md
- hybrid.rs
- lib.rs
- matrix.rs
- sparse.rs
- tests.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- flags.rs
- lib.rs
- printer.rs
- tests.rs
- Cargo.lock
- Cargo.toml
- LICENSE_APACHE
- LICENSE_MIT
- README.md
- lib.rs
- Cargo.toml
- tests.rs
- unziptuple.rs
- ieee64.rs
- iter.rs
- lib.rs
- macros.rs
- packed_option.rs
- pretty.rs
- vec.rs
- Cargo.toml
- lib.rs
- map.rs
- set.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- params.rs
- resistor.rs
- vsource.rs
- flags.rs
- matrix.rs
- osdi_0_3.rs
- osdi_device.rs
- circuit.rs
- devices.rs
- elaboration.rs
- expr.rs
- lib.rs
- simulation.rs
- tests.rs
- utils.rs
- veriloga.rs
- Cargo.toml
- mos_characteristics.py
- optimize_circuit_param.py
- README.md
- preprocessor_error.rs
- sink.rs
- syntax_error.rs
- diagnostics.rs
- ast_id_map.rs
- diagnostics.rs
- lib.rs
- line_index.rs
- lint_attrs.rs
- lints.rs
- data_tests.rs
- Cargo.toml
- attributes.rs
- body.rs
- db.rs
- declaration.rs
- declarations.rs
- diagnostics.rs
- lib.rs
- rec_declarations.rs
- data_tests.rs
- Cargo.toml
- lower.rs
- pretty.rs
- lower.rs
- pretty.rs
- collect.rs
- diagnostics.rs
- pretty.rs
- body.rs
- builtin.rs
- data.rs
- db.rs
- expr.rs
- item_tree.rs
- lib.rs
- nameres.rs
- path.rs
- types.rs
- data_tests.rs
- Cargo.lock
- Cargo.toml
- body.rs
- callbacks.rs
- ctx.rs
- dimensions.rs
- expr.rs
- fmt.rs
- lib.rs
- parameters.rs
- state.rs
- stmt.rs
- data_tests.rs
- Cargo.toml
- generated.rs
- fmt_parser.rs
- body.rs
- types.rs
- builtin.rs
- db.rs
- diagnostics.rs
- inference.rs
- lib.rs
- lower.rs
- types.rs
- validation.rs
- Cargo.toml
- cursor.rs
- lib.rs
- tests.rs
- Cargo.toml
- lib.rs
- Cargo.toml
- attributes.rs
- basic_block.rs
- bitcode.rs
- builder.rs
- context.rs
- initialization.rs
- lib.rs
- module.rs
- object.rs
- pass_manager.rs
- support.rs
- targets.rs
- types.rs
- util.rs
- values.rs
- OpenVafWrapper.cpp
- build.rs
- Cargo.toml
- generated.rs
- tests.rs
- instructions.rs
- phis.rs
- postorder.rs
- tests.rs
- uses.rs
- values.rs
- tests.rs
- transversal.rs
- tests.rs
- generated.rs
- tests.rs
- tests.rs
- builder.rs
- cursor.rs
- dfg.rs
- dominators.rs
- entities.rs
- flowgraph.rs
- immediates.rs
- instructions.rs
- layout.rs
- lib.rs
- serialize.rs
- validation.rs
- write.rs
- Cargo.toml
- tests.rs
- tests.rs
- builder.rs
- intern.rs
- lib.rs
- live_derivatives.rs
- postorder.rs
- subgraph.rs
- Cargo.toml
- lib.rs
- ssa.rs
- Cargo.toml
- data.rs
- lib.rs
- Cargo.toml
- builder.rs
- callbacks.rs
- context.rs
- declarations.rs
- intrinsics.rs
- lib.rs
- tests.rs
- types.rs
- Cargo.toml
- tests.rs
- test.rs
- test.rs
- tests.rs
- const_eval.rs
- const_prop.rs
- dead_code.rs
- dead_code_aggressive.rs
- global_value_numbering.rs
- inst_combine.rs
- lib.rs
- simplify.rs
- simplify_cfg.rs
- split_tainted.rs
- Cargo.toml
- tests.rs
- tests.rs
- error.rs
- lexer.rs
- lib.rs
- parser.rs
- Cargo.toml
- cache.rs
- lib.rs
- mod.rs
- osdi_0_3.rs
- mod.rs
- integration.rs
- Cargo.toml
- cli_def.rs
- cli_process.rs
- crash_report.rs
- main.rs
- cli.rs
- Cargo.toml
- osdi_0_3.h
- osdi_0_3.rs
- access.rs
- bitfield.rs
- compilation_unit.rs
- eval.rs
- inst_data.rs
- lib.rs
- load.rs
- metadata.rs
- model_data.rs
- noise.rs
- setup.rs
- tests.rs
- data_tests.rs
- build.rs
- Cargo.toml
- stdlib.c
- module.rs
- attributes.rs
- call.rs
- expressions.rs
- items.rs
- paths.rs
- stmts.rs
- error.rs
- event.rs
- grammar.rs
- lib.rs
- output.rs
- parser.rs
- syntax_kind.rs
- token_set.rs
- Cargo.toml
- condition_disacled.tokens
- condition_disacled_expanded.va
- condition_enabled.tokens
- condition_enabled_expanded.va
- smoke_test.tokens
- smoke_test_expanded.va
- source_map_triple_replacement.tokens
- source_map_triple_replacement_expanded.va
- whitespaces.tokens
- whitespaces_expanded.va
- diagnostics.rs
- grammar.rs
- lib.rs
- parser.rs
- processor.rs
- scoped_arc_arena.rs
- sourcemap.rs
- tests.rs
- Cargo.toml
- builder.rs
- tests.rs
- tests.rs
- tests.rs
- tests.rs
- builder.rs
- contributes.rs
- lineralize.rs
- small_signal_network.rs
- test.rs
- compilation_db.rs
- context.rs
- dae.rs
- init.rs
- lib.rs
- module_info.rs
- node_collapse.rs
- noise.rs
- topology.rs
- util.rs
- Cargo.toml
- nodes.rs
- tokens.rs
- expr_ext.rs
- generated.rs
- node_ext.rs
- traits.rs
- tree_builder.rs
- ast.rs
- error.rs
- lib.rs
- name.rs
- parsing.rs
- ptr.rs
- syntax_node.rs
- token_text.rs
- validation.rs
- Cargo.toml
- veriloga.ungram
- aarch64_apple_darwin.rs
- aarch64_pc_windows.rs
- aarch64_unknown_linux.rs
- apple_base.rs
- linux_base.rs
- windows_msvc_base.rs
- x86_64_apple_darwin.rs
- x86_64_pc_windows.rs
- x86_64_unknown_linux.rs
- lib.rs
- spec.rs
- ucrt.c
- build.rs
- Cargo.toml
- branches.va
- functions.va
- ports.va
- variables.va
- branch_access.body
- branch_access.va
- function.va
- nested_blocks.body
- nested_blocks.va
- collapsible_ddt_mir.snap
- collapsible_ddt_topology.snap
- conditional_ddt_mir.snap
- conditional_ddt_topology.snap
- conditional_noise_mir.snap
- conditional_noise_topology.snap
- correlated_noise_mir.snap
- correlated_noise_topology.snap
- linear_analog_operators_mir.snap
- linear_analog_operators_topology.snap
- manual_correlated_noise_mir.snap
- manual_correlated_noise_topology.snap
- psp103_mir.snap
- psp103_topology.snap
- unused_noise_mir.snap
- unused_noise_topology.snap
- const_switch_branch_mir.snap
- const_switch_branch_system.snap
- diode_va_mir.snap
- diode_va_system.snap
- dyn_switch_branch_mir.snap
- dyn_switch_branch_system.snap
- lim_rhs_mir.snap
- lim_rhs_react_mir.snap
- lim_rhs_react_system.snap
- lim_rhs_sign_mir.snap
- lim_rhs_sign_system.snap
- lim_rhs_system.snap
- resistor_va_mir.snap
- resistor_va_system.snap
- voltage_src_mir.snap
- voltage_src_system.snap
- analysis_dependent_eval_mir.snap
- analysis_dependent_init_mir.snap
- analysis_dependent_system.snap
- diode_va_eval_mir.snap
- diode_va_init_mir.snap
- diode_va_system.snap
- op_dependent_collapse_hint_eval_mir.snap
- op_dependent_collapse_hint_init_mir.snap
- op_dependent_collapse_hint_system.snap
- resistor_va_eval_mir.snap
- resistor_va_init_mir.snap
- resistor_va_system.snap
- blocks.def_map
- blocks.item_tree
- blocks.va
- branches.def_map
- branches.item_tree
- branches.va
- function.def_map
- function.item_tree
- function.va
- nodes.def_map
- nodes.item_tree
- nodes.va
- std.def_map
- std.item_tree
- std.va
- analog_initial.mir
- analog_initial.va
- case.mir
- case.va
- amplifier.snap
- asmhemt.snap
- bsim3.snap
- bsim4.snap
- bsim6.snap
- bsimbulk.snap
- bsimcmg.snap
- bsimimg.snap
- bsimsoi.snap
- cccs.snap
- current_source.snap
- diode.snap
- diode_cmc.snap
- diode_lim.snap
- diode_lim.va
- ekv.snap
- ekv_longchannel.snap
- hicuml2.snap
- hisim2.snap
- hisimhv.snap
- hisimsotb.snap
- mextram.snap
- mvsg_cmc.snap
- noise.snap
- noise.va
- psp102.snap
- psp103.snap
- resistor.snap
- strings.snap
- vccs.snap
- module_overwrite_unknown_lint.log
- module_overwrite_unknown_lint.va
- overwrite_reserved_ident.log
- overwrite_reserved_ident.va
- reserved_ident_nested.log
- reserved_ident_nested.va
- source_map.log
- source_map.va
- unknown_lint.log
- unknown_lint.va
- ddx.log
- ddx.va
- formatting.log
- formatting.va
- function.va
- function_resolve.va
- param_ty.log
- param_ty.va
- port_without_direction.log
- port_without_direction.va
- generated.rs
- lexer.rs
- lib.rs
- parser.rs
- Cargo.toml
- tests.rs
- anchored_path.rs
- lib.rs
- loader.rs
- path_interner.rs
- va_std.rs
- vfs_path.rs
- Cargo.toml
- src.rs
- ast.rs
- hir_builtins.rs
- lib.rs
- mir_instructions.rs
- osdi.rs
- tests.rs
- build.rs
- Cargo.toml
- gen_test_data.py
- hicumL2V2p4p0_vae.va
- mcard.json
- test_data.npz
- test_hicum.py
- api.rs
- back.rs
- cache.rs
- compiler_db.rs
- lib.rs
- main.rs
- middle.rs
- opts.rs
- Cargo.toml
- generated.rs
- ffi.rs
- lib.rs
- tests.rs
- build.rs
- Cargo.toml
- cbindgen.toml
- cppbindgen.toml
- ffi.rs
- lib.rs
- load.rs
- model.rs
- numpy.rs
- offsets.rs
- typeref.rs
- unicode.rs
- util.rs
- build.rs
- Cargo.lock
- Cargo.toml
- __init__.py
- Dockerfile
- dependency_links.txt
- not-zip-safe
- PKG-INFO
- SOURCES.txt
- top_level.txt
- prepare.rs
- build_py.rs
- cache.rs
- flags.rs
- main.rs
- msvcrt.rs
- vendor.rs
- Cargo.toml
- .gitignore
- Cargo.lock
- Cargo.toml
- CHANGELOG_OSDI.md
- CHANGELOG_VERILOGAE.md
- foo.sh
- LICENSE
- local_ci.sh
- logo.png
- logo_dark.svg
- logo_light.svg
- README.md
- rustfmt.toml
- setup.py
- typos.toml
# Installation Guide
1. Get the code
git clone https://github.com/pascalkuthe/OpenVAF
Downloads the entire project code from GitHub to your computer.
cd OpenVAF
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
in our docker images. These binaries are build on centos-7 and will therefore
Type this command into your terminal and run it.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
Pulled directly from this repo's README.
3. Python
EasyPrerequisites
pip install .
Installs the package published on PyPI directly โ no need to clone the source.
python <์คํํ ํ์ผ๋ช
>.py # README์์ ์ ํํ ์คํ ํ์ผ๋ช
์ ํ์ธํ์ธ์
Runs the Python script (or module).
If it runs without errors and prints output in the terminal, it worked.
4. Rust
MediumPrerequisites
- Git Needed to download the project code from GitHub.
- Rust (rustup) Installing via rustup also installs cargo.
OpenVAF **requires rust/cargo 1.64 or newer** (best installed with [rustup](https://rustup.rs/)). Furthermore, the **LLVM-15** development libraries and **clang-15** are required. Newer version also work but older versions of LLVM/clang are not supported. Note that its imperative that **you clang version matches your LLVM version**. If you want to compile VerilogAE python 3.8+ is also required.
Runs the Python script (or module).
For development [cargo-nexttest](https://nexte.st/) is recommended to run these tests as it significantly reduces the test runtime.
Type this command into your terminal and run it.
However, the built-in cargo test runner (requires no extra installation) can also be used.
Type this command into your terminal and run it.
If cargo build finishes without errors, it worked. The executable is created under target/.
Pulled directly from this repo's README.
// repository documentation
Was this content helpful?
(0 ratings)
