Копейкин 0 18 декабря, 2014 Опубликовано 18 декабря, 2014 · Жалоба Многоуважаемые проектировщики собственных процессоров. Поделитесь, пожалуйта, информацией, где можно почитать про микрокоды, для разработки собственного процессора. Разработка, инструментарий, практические советы, внятные примеры... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 18 декабря, 2014 Опубликовано 18 декабря, 2014 · Жалоба есть книжка в свободном доступе VHDL Coocbook там в качестве примера процессор но по хорошему, нужно брать на Opencores.org ядро процессорное и смотреть, как сделано. еще есть leon от gaisler-а - но это лучше для понимания как делать микропроцессорную систему, само ядро там, по-моему, сложно описано - трудно разбираться ведь процессор не для развлечения, а для исполнения программ - то есть нужны компиляторы, отладчики и пр. поэтому совсем "свой" процессор смысла делать мало для совсем простого - просто посмотреть Zylin ZPU проект Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 13 января, 2015 Опубликовано 13 января, 2015 · Жалоба Представляю свой 8-разрядный софт процессор miniByte, реализованный в среде QII 8.1 на Cyclone III. Приложение miniByte.rar включает: miniByte.pdf – краткое описание структуры процессора и сиcтемы команд. mb.exe - транслятор с ассемблера mb.asm в файл mb.mif mb.asm – пример кода с выводом текста «HELLO» на LCD. Процессор miniByte предназначен для программирования внутри ПЛИС, с возможностью изменять под задачу его архитектуру и систему команд. Система команд miniByte схожа с 51 архитектурой, но сокращена до 32 команд с длинами в один или два байта. Тактовая частота до 100 МГц, а команды выполняются за 1 или 2 такта. Память RAM и ROM емкостью по 4096*8 реализована на 2-х портовой внутренней памяти М9К. Стек в RAM произвольной длины. Систему прерывания пока не делал. Синтез софт процессора на verilog и транслятор на С++ написал сам. Для трансляции запустить mb.exe в том же директории, где и mb.asm. Создастся файл mb.mif, используемый далее в QII при загрузках в ROM. Средствами QII 8.1 можно симулировать программу из mb.mif до уровня регистров. После конфигурирования ПЛИС, процессор сбрасывается сигналом locked от мега-функции ALTPLL. miniByte.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alman 0 15 февраля, 2015 Опубликовано 15 февраля, 2015 (изменено) · Жалоба Представляю свой 8-разрядный софт процессор miniByte, реализованный в среде QII 8.1 на Cyclone III. Конкуренция растёт. :) А я предлагаю 32-разрядный микропроцессор. Точнее, архитектуру. Вот, намедни сделал карту системы команд. Разумеется, по простоте и компактности он не может конкурировать с 8-ми битными микроконтроллерами, но у него есть другие преимущества - отличная расширяемость и высокая плотность кода. Желтым помечены неназначенные коды операций. Когда (и если) заработает встроенная многозадачность, то проект будет достоин отдельной темы в этом подфоруме. А вот так может выглядеть программа на ассемблере для этого процессора Знаю проекты, которые продвинулись значительно дальше моего, но с точки зрения возможностей архитектуры я готов пободаться.:) Изменено 15 февраля, 2015 пользователем alman Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 16 февраля, 2015 Опубликовано 16 февраля, 2015 · Жалоба Конкуренция растёт. :) 8 –разрядный софт процессор не конкурент 32-разрядному. У них разное предназначение, скорее он мог бы быть младшим партнером. Для меня главное, что мой miniByte уже работает и его можно легко втыкать в ПЛИС взамен очень больших FSM. Здесь мне интересны методы аппаратной реализации процессора в HDL, а также способы и детали программирования транслятора с ассемблера, ну и архитектура в целом. То есть, кто и как это все реализует… У Вас, как я понимаю, задача аппаратной реализации операционной системы... Один мой знакомый, правда в Америке, что-то подобное делает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ElrondTelvanni 0 11 марта, 2015 Опубликовано 11 марта, 2015 (изменено) · Жалоба Serhiy_UA Представляю свой 8-разрядный софт процессор miniByte, реализованный в среде QII 8.1 на Cyclone III.А исходники самого проца (rtl) и ассемблера вы можете выложить? Изменено 11 марта, 2015 пользователем ~Elrond~ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба Serhiy_UA А исходники самого проца (rtl) и ассемблера вы можете выложить? это Вам не подходит? на 2 поста выше... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ElrondTelvanni 0 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба Maverick А вы вообще скачивали этот архив? Буду весьма благодарен, если вы найдёте там хоть один verilog файл. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба Мне кажется, что miniByte подходит только для самых простых задач - ну типа светодиодом поморгать, передать в ком порт константную строчку и т.п. Поскольку в нём нет даже сложения двух регистров(сложение возможно только с константой), более сложные операции придётся выполнять, примерно как на машине Тьюринга :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба Мне кажется, что miniByte подходит только для самых простых задач - ну типа светодиодом поморгать, передать в ком порт константную строчку и т.п. Поскольку в нём нет даже сложения двух регистров(сложение возможно только с константой), более сложные операции придётся выполнять, примерно как на машине Тьюринга :). ну не факт. вот на таких чипах народ даже работал, минибайт по сравнению с этим супер пупер проц :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба Мне кажется, что miniByte подходит только для самых простых задач - ну типа светодиодом поморгать, передать в ком порт константную строчку и т.п. Поскольку в нём нет даже сложения двух регистров(сложение возможно только с константой), более сложные операции придётся выполнять, примерно как на машине Тьюринга :). Timmy, спасибо за замечание! Проглядел, исправлю. Бывает, когда все делаешь сам. Теперь вместо команды INC A, введу двухбайтную ADD A, Rx. Ведь аккумулятор инкрементируется и через ADD A, xy. Проблем нет, я как раз и хотел обсуждения… Сравнение с машиной Тьюринга забавно, а какая на самом деле там была система команд, кто знает? Да, еще для затравки. Хотел сделать софт-процессор "полуБайт". То есть с данными в 4 бита. Пока только хочу... Тоже для микро применений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба Сравнение с машиной Тьюринга забавно, а какая на самом деле там была система команд, кто знает? описание языка brainfuck почитайте. это оно и есть Да, еще для затравки. Хотел сделать софт-процессор "полуБайт". То есть с данными в 4 бита. Пока только хочу... Тоже для микро применений. возьмите пикоблейз и прокачайте его до нормального уровня (большой регистровый файл, 4К команд, AXI), вот это будет дело Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба Как раз 3 команд не хватает до pic'а (35 команд). Может тогда все команды, где осуществляются операции с заданной константой, перевести в режим работы с аккумулятором, как у Motorola MC14500B, ссылку на который привел ув. des00. #1 LD A RR ← A #2 AND B RR ← A • B #3 STO TEMP RR = A • B → TEMP #4 LD C RR ← C #5 AND D RR ← C • D #6 OR TEMP RR ← C • D + (TEMP = A • B) = A • B + C • D #7 STO LOAD RR = A • B + C • D → LOAD Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба Maverick А вы вообще скачивали этот архив? Буду весьма благодарен, если вы найдёте там хоть один verilog файл. :) честно признаюсь, не скачивал - verilog файлов в архиве действительно не оказалось... :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 12 марта, 2015 Опубликовано 12 марта, 2015 · Жалоба У меня для проекта "Си как HDL, или Верилог без always" (см. marsohod.org ) написан софт-процессор, совместимый по ассемблеру с ядром msp430 - программы можно писать на Си с использованием GCC. Но компиляция с ассемблера в машинные коды делается самопальной программой. Проект делался только как демо-пример, поэтому без поддержки библиотек и тп. Без периферии занимает ~350 ЛЕ, быстродействие ~50МГц msp430. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться