От вашето описание бих предположил, че двете RAM памети са за кеш на инструкции и кеш на данни. Тъй като те обикновено са със значителен размер, дори и на по-малки процесори, бих се съмнявал, че тези RAM памети са внедрени в тригери и мултиплексори. Следователно първото ми предложение би било да проверите списъка с мрежи, за да видите дали RAM паметите всъщност са отделни RAM примитивни модули.
Причината е, че примитивните RAM модули понякога (в зависимост от модела) могат да бъдат инициализирани със съдържанието на файл. В този случай просто трябва да направите файл с правилния формат.
Алтернатива, ако RAM примитивните модули действително са в списъка с мрежи, но не позволяват инициализация, е да замените RAM примитивните модули с ваша собствена версия, която може да бъде инициализирана.
Ако RAM паметите действително са преобразувани в тригери и мултиплексори, тогава процесорът може да поддържа някои инструкции за манипулиране на кеша, обикновено достъпни от защитен режим (ядро). Тези инструкции могат да се използват за зареждане на кеша за инструкции и кеша за данни със съдържание, предоставено от изпълнената програма. Зареждането на RAM паметта на кеша по този начин може да отнеме множество инструкции, следователно известно време за симулация.
И накрая, можете да помислите да не отделяте толкова много време за симулация на ниво врата. Може да е добре да стартирате малко, само за да сте сигурни, че списъкът с мрежи е наред, но комерсиалните добре известни инструменти за синтез обикновено са с високо качество, така че е малко вероятно те да са причината за грешки във вашия дизайн. Рискът от грешки е много по-голям в специалния дизайн за проекта, така че може да искате да отделите повече време за проверка на функциите и преглед на кода ;-)
person
Morten Zilmer
schedule
18.05.2013