cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
PhilipWee
Visitor
Visitor
180 Views
Registered: ‎05-11-2021

Signal EXCEPTION_ACCESS_VIOLATION on reading loading memory into block ram

module bram_sim_test(
    
    );
    bram_custom_wrapper bram_uut();
    
    initial
    begin
        $readmemb("subcore__0,0_-0_first_0.txt",bram_uut);
    end
    
endmodule

I have the above code, where bram_custom_wrapper is a vivado generated HDL wrapper

However, this runs into the following error:

ERROR: [XSIM 43-3294] Signal EXCEPTION_ACCESS_VIOLATION received.
Printing stacktrace...

[0] (KiUserExceptionDispatcher+0x2e) [0x7ff8c9190bae]
[1] (ISIMC::VlogCompiler::transform+0xcb744) [0x7ff757d86984]
[2] (ISIMC::VlogCompiler::transform+0xd783a) [0x7ff757d92a7a]
[3] (ISIMC::VlogCompiler::transform+0x1109e0) [0x7ff757dcbc20]
[4] (ISIMC::VlogCompiler::transform+0x11096d) [0x7ff757dcbbad]
[5] (ISIMC::VlogCompiler::transform+0xe9648) [0x7ff757da4888]
[6] (ISIMC::VlogCompiler::transform+0xe6c86) [0x7ff757da1ec6]
[7] (ISIMC::VlogCompiler::transform+0x123805) [0x7ff757ddea45]
[8] (ISIMC::VlogCompiler::transform+0xe52fb) [0x7ff757da053b]
[9] (ISIMC::VlogCompiler::codegen+0x6f9) [0x7ff757ca9449]
[10] (OPENSSL_Applink+0xe28c8) [0x7ff757fe0748]
[11] (OPENSSL_Applink+0xdd833) [0x7ff757fdb6b3]
[12] (OPENSSL_Applink+0xdcb5c) [0x7ff757fda9dc]
[13] (OPENSSL_Applink+0xdcc88) [0x7ff757fdab08]
[14] (ISIMC::VhdlCompiler::saveParserDump+0xa74e8) [0x7ff757ed7548]
[15]  [0x7ff757bb3820]
[16]  [0x7ff757bc8feb]
[17]  [0x7ff757bc6d4e]
[18] (boost::archive::detail::iserializer<boost::archive::binary_iarchive,ModuleSerialization>::load_object_data+0x16846cc) [0x7ff7597c194c]
[19] (BaseThreadInitThunk+0x14) [0x7ff8c85e7034]

A few questions:
1. Is $readmemb able to read memory into BRAM?

2. Why is the error appearing?

 

Any help is appreciated

 

0 Kudos
1 Reply
viviany
Xilinx Employee
Xilinx Employee
102 Views
Registered: ‎05-14-2008

bram_uut is an instance name. It cannot be used as input of  readmemb.

$readmemb("<data file name>",<memory name>);

The "memory name" here is usually a 2-dimention array signal.

You can find examples in UG901.

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 Kudos