Category: психология

Category was added automatically. Read all entries about "психология".

QuatCore

Квартус призывает к перфекционизму?

Странные вещи творятся. Добавил к программе очередной кусочек, откомпилировал. Сунул в папку с QuatCore очередные файлики QuatCoreCode.mif, QuatCoreData.mif (для инициализации внутренних блоков памяти - для кода и для данных соответственно), а также QuatCoreCallTable.v (таблица адресов для вызова функций).

Запускаю компиляцию проекта в квартусе, Analysis&Synthesis проходит нормально, запускается Fitter (Place&Route), доходит до 96% - и натурально крашится:

*** Fatal Error: Access Violation at 0X08DB3606
Module: quartus_fit.exe
Stack Trace:
0x1D3606  : VPR10K20K_QI_FACADE::vpr_qi_main + 0x51B76 (fitter_vpr10k20kmain)
0x1D35CA  : VPR10K20K_QI_FACADE::vpr_qi_main + 0x51B3A (fitter_vpr10k20kmain)

End-trace


причём делает это на двух разных компьютерах - один домашний (Intel Quad Core Q8200, Win7 x64), другой на работе (Intel Atom D510, WinXP 32 бита).

Начальное содержимое памяти вообще на это дело не должен оказывать влияния - по-моему он недостаточно умён, чтобы "прочухать" - "нам тут по старшему биту положили сплошные нули во всех адресах, а модуль сделан как ПЗУ, без линий записи, значит, можно половину логики выкинуть, она никогда не включится". По крайней мере, не замечал, чтобы простейшая программа, явно не использующая и половины команд, приводила к уменьшению количества ЛЭ.

Значит, единственное, что поменялось - QuatCoreCallTable.

Collapse )