Altera_Forum
Honored Contributor
11 years agoVHDL Fixed point package with Quartus
Hello!
I am trying to use the VHDL Fixed-point package fixed_pkg with Quartus II (11.0 sp1). http://www.vhdl.org/fphld/vhdl.html The package works fine except when trying to define a two dimensional array. When the 2-D array is defined in a top-level entity everything goes well, but when I move the array to a package, Quartus crashes. I created a package dedicated to the different types I need to work with, and there I defined
subtype GVal is sfixed (1 downto -7); --sfixed is a fixed-point type defined in the VHDL fixed-point package.
type GMat is array (0 to 1, 0 to 1) of GMat;
In another package I declared the variables, signals, constants, functions etc...
constant GMTest: GMat:= ((to_sfixed(-1.5,2,-3),to_sfixed(-1.4,2,-3)) , (to_sfixed(-0.2,2,-3),to_sfixed(-0.5,2,-3)));
When I try to use the values of GMTest in a top-level entity I get the following error: --- Quote Start --- *** Fatal Error: Access Violation at 0X092E1C16 Module: quartus_map.exe Lock in use: 9 Stack Trace: 0x91c15: Netlist::ProcessGlobals + 0x365 (synth_vrfx) 0x945e4: Netlist::Polish + 0xb4 (synth_vrfx) 0x15d99f: VhdlEntityDecl::CoreElaborate + 0x4af (synth_vrfx) 0x15dfee: VhdlEntityDecl::Elaborate + 0x37e (synth_vrfx) 0x5169e: VRFX_VERIFIC_VHDL_ELABORATOR::elaborate + 0x1be (synth_vrfx) 0x4c3c6: VRFX_ELABORATOR::elaborate + 0xc6 (synth_vrfx) 0x9cc41: SGN_FN_LIB::elaborate + 0x131 (synth_sgn) 0x9f3ca: SGN_FN_LIB::start_vrf_flow + 0xa (synth_sgn) 0xa06f7: SGN_FN_LIB::start + 0x597 (synth_sgn) 0x7dd99: SGN_EXTRACTOR::single_module_extraction + 0x149 (synth_sgn) 0x8266e: SGN_EXTRACTOR::recursive_extraction + 0x15e (synth_sgn) 0x85d6a: SGN_EXTRACTOR::extract + 0x16a (synth_sgn) 0xbc3e: sgn_elaboration + 0xee (synth_sgn) 0x3a7f: qsyn_execute_sgn + 0x19f (quartus_map) 0x19f2b: QSYN_FRAMEWORK::execute_core + 0x8b (quartus_map) 0x1c930: QSYN_FRAMEWORK::execute + 0xa0 (quartus_map) 0xf211: QEXE_ARGS::get_command_line + 0x1461 (comp_qexe) 0x116b7: qexe_process_cmdline_arguments + 0x387 (comp_qexe) 0x117a4: qexe_standard_main + 0x84 (comp_qexe) 0x17ede: qsyn_main + 0x5e (quartus_map) 0x1b81: msg_main_thread + 0x11 (CCL_MSG) 0x1be8: _thr_final_wrapper + 0x8 (ccl_thr) 0x1af5: msg_thread_wrapper + 0x85 (CCL_MSG) 0x458a: mem_thread_wrapper + 0x4a (ccl_mem) 0x28a03: msg_exe_main + 0x63 (CCL_MSG) 0x1938c: _main + 0x1c (quartus_map) 0x24ad4: __ftol2 + 0x1ce (quartus_map) 0x4ee1b: BaseThreadInitThunk + 0x11 (kernel32) 0x637ea: RtlInitializeExceptionChain + 0xee (ntdll) 0x637bd: RtlInitializeExceptionChain + 0xc1 (ntdll) End-trace Quartus II Version 11.0 Build 208 07/03/2011 SJ Full Version Service Pack Installed: 1 --- Quote End --- Any ideas would be appreciated. Thanks in advance