OpenVAF icon indicating copy to clipboard operation
OpenVAF copied to clipboard

OpenVAF encountered a problem and has crashed!

Open SengerM opened this issue 1 year ago • 2 comments

Hello, I am trying to compile the Stanford RRAM Model v1.0.0 using OpenVAF and getting this:

$ openvaf rram_v_1_0_0.va 
OpenVAF encountered a problem and has crashed!

A log file has been generated at "/tmp/openvaf-crash-1722959390.log".
To help us fix the problem, please open an issue at https://github.com/pascalkuthe/OpenVAF/
or send an email to [email protected] and attach the log file.

This is the log file:

OpenVAF 23.5.0
Opts {
    dry_run: false,
    defines: [],
    codegen_opts: [],
    lints: [],
    input: "rram_v_1_0_0.va",
    output: Path {
        lib_file: "rram_v_1_0_0.osdi",
    },
    include: [],
    opt_lvl: Aggressive,
    target: Target {
        llvm_target: "x86_64-unknown-linux-gnu",
        pointer_width: 64,
        arch: "x86_64",
        data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
        options: TargetOptions {
            is_builtin: true,
            cpu: "x86-64",
            features: "",
            linker_flavor: Ld,
            pre_link_args: {
                Ld: [
                    "--no-add-needed",
                    "--hash-style=gnu",
                    "-m",
                    "elf_x86_64",
                ],
            },
            post_link_args: {},
            import_lib: [],
            is_like_windows: false,
            is_like_osx: false,
        },
    },
    target_cpu: "native",
}
Panic occurred in file '/root/project/lib/bitset/src/lib.rs' at line 133
index out of bounds: the len is 4 but the index is 67108863
   0: 0x55b13c32a2d2 - rust_begin_unwind
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584
   0: 0x55b13c34d0f3 - core::panicking::panic_fmt::h8d17ca1073d9a733
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142
   0: 0x55b13c34d032 - core::panicking::panic_bounds_check::h8a412b863558c16a
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:84
   0..   5: 0x55b139f11904 - <usize as core::slice::index::SliceIndex<[T]>>::index_mut::hf9e8f2c093e71e6a
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/slice/index.rs:256
                 - core::slice::index::<impl core::ops::index::IndexMut<I> for [T]>::index_mut::hf73a2e28b025047e
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/slice/index.rs:30
                 - <alloc::vec::Vec<T,A> as core::ops::index::IndexMut<I>>::index_mut::hda978e33776f0f11
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/mod.rs:2640
                 - bitset::BitSet<T>::insert::h4a229aa15f30c1e3
                at /root/project/lib/bitset/src/lib.rs:133
                 - sim_back::context::Context::compute_outputs::h53dab5c6cc42fd56
                at /root/project/openvaf/sim_back/src/context.rs:120
   0: 0x55b139ec43e1 - sim_back::dae::builder::Builder::new::h44f55d6486be44ef
                at /root/project/openvaf/sim_back/src/dae/builder.rs:63
   0: 0x55b139f07528 - sim_back::dae::DaeSystem::new::h40f0ec87bfea73ef
                at /root/project/openvaf/sim_back/src/dae.rs:51
   0: 0x55b139ed1e12 - sim_back::CompiledModule::new::h1111bae6815237d3
                at /root/project/openvaf/sim_back/src/lib.rs:69
   0..   4: 0x55b139e5cd58 - osdi::compile::{{closure}}::h6255df890f95b02d
                at /root/project/openvaf/osdi/src/lib.rs:48
                 - core::iter::adapters::map::map_fold::{{closure}}::hf7d0804368c54846
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/adapters/map.rs:84
                 - core::iter::traits::iterator::Iterator::fold::he331c36edfc922ca
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/traits/iterator.rs:2414
                 - <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold::hcee8e3112ce14494
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/adapters/map.rs:124
   0..   4: 0x55b139e7d058 - core::iter::traits::iterator::Iterator::for_each::h09c34e56ba8b94c7
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/traits/iterator.rs:831
                 - <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend::h2ae79678e936700d
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/spec_extend.rs:40
                 - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter::h45540ffab24b2fdf
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/spec_from_iter_nested.rs:62
                 - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::h2219e024b8618cfc
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/spec_from_iter.rs:33
   0..   3: 0x55b139e4c4e8 - <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter::he09325dee4619f17
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/alloc/src/vec/mod.rs:2649
                 - core::iter::traits::iterator::Iterator::collect::hff2d6cd2966ab765
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/iter/traits/iterator.rs:1836
                 - osdi::compile::hf75acb2778f3c53d
                at /root/project/openvaf/osdi/src/lib.rs:45
   0: 0x55b139e1643d - openvaf::compile::had96608649ded0ec
                at /root/project/openvaf/openvaf/src/lib.rs:172
   0..   2: 0x55b139dc57b5 - openvaf::wrapped_main::h1987f15b4982d9bd
                at /root/project/openvaf/openvaf-driver/src/main.rs:83
                 - openvaf::main::h550f8d9dc44e20ec
                at /root/project/openvaf/openvaf-driver/src/main.rs:36
   0: 0x55b139dbaaf3 - core::ops::function::FnOnce::call_once::hfd18939bfb5e3e05
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248
                 - std::sys_common::backtrace::__rust_begin_short_backtrace::h6538b7e68ee8c0c4
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/sys_common/backtrace.rs:122

I fixed some simple syntax errors in the rram_v_1_0_0.va source file, and I changed line 146 from gap_random_ddt = $rdist_normal(rand_seed, 0, 1) * deltaGap / (1 + exp((T_crit - T_cur)/T_smth)); to gap_random_ddt = deltaGap / (1 + exp((T_crit - T_cur)/T_smth)); because $rdist_normal is not implemented yet, but this is not important for now.

SengerM avatar Aug 06 '24 16:08 SengerM

I assume this is the syntax you fixed: parameter integer model_switch = 0 from[0, 1]; should be parameter integer model_switch = 0 from[0 : 1];

gjcoram avatar Oct 28 '24 14:10 gjcoram

I also note that 'gap' is used: gamma = gamma_ini - beta * pow((( gap )/1e-9), 3); before it is set gap = idt(gap_ddt+gap_random_ddt, gap_ini);

gjcoram avatar Oct 28 '24 14:10 gjcoram