September 03, 2011

Софтпроцессор. Сделай сам

   Решил поделится найденными ссылками, на различные материалы по созданию софтпроцессоров, а так же примеров их реализации. Возможно, со временем список будет расширяться.

 [1] Цикл лабораторных работ из КПИ, предоставляемых VHDL лабораторией им. Каневского. Цикл состоит из 7-ми лаб. Формат: PDF. Структура процессора, который должен получиться в результате, изображена ниже.

    Исходников нет. Есть только куски листинга в самих лабах. Кстати, у меня на руках была методичка - несколько старший бумажный вариант этих лаб. Так вот они несколько отличаются. И там и там есть небольшие куски, которых нет в другом варианте. Но во всяком случае, если делать все, как написано в лабах, то врядли что-то получится рабочее. Во-первых, потому, что там используется самодельная библиотека "CNetlist_Lib". В принципе это не беда, т.к. функции, описаные в ней, можно заменить стандартными, а недостающие коды архитектур компонент можно написать самому (к счастью есть листинги сигнатур). Во-вторых, там есть всякие "сюрпризы". Например, сначала в первых лабах подробно все описано, приведены листинги поведенческих и структурных описаний архитектур сущностей. Потом оказывается, что в конечном варианте сами сущности достаточно изменены, а описанию изменений достаточно внимания не отводится. Короче говоря, для студентов - самое то, но как учебник применить если и выйдет, то с натяжкой.

  [2]   Xilinx Picoblaze - фирменный opensource продукт от Xilinx. Бесплатно доступны исходники и документация (необходима только регистрация). Единственное, что не нравится - исходник по сути один и большой (почти 3000 строк), что затрудняет понимание того, что проиходит внутри. К тому же большая часть описана структурно с использованием 6-входовых LUT и триггеров. Идентифекаторы в коде более-менее читабельны, но все же сидеть и колупаться в 64-битных масках для LUT - дело не из увлекательных. Структура микроконтролера ниже.


  [3]  Лекция по созданию ЦП на opencores.org. Рассматривается создание микроконтроллера, схожего с Atmel ATmega8. Есть все исходники, документация и прочее (необходима регистрация для скачивания). Документация классная, единственное, чего реально не хватает, так это комментариев по коду или хотя бы описания сигналов. Структура результата вот:


 [4] Различные проекты на opencores.org (раздел "Processor"). Можно порыться и найти что-нибудь интересное. Главное, чтобы документация была нормальной, на английском. А то попадается то чисто на немецком, то на польском, то еще на каком-то.

  [5]  CPU Design HOW-TO - сборище ссылок всего и обо всем. Есть список бесплатных софтпроцессоров. Вообще от количества всяких ссылок глаза разбегаются.

No comments:

Post a Comment