Re[10]: Свой процессор на ПЛИС
От: 0x7be СССР  
Дата: 26.02.16 06:56
Оценка:
Здравствуйте, koandrew, Вы писали:


0>>Её сложнее проектировать и эволюционировать. Насколько я знаю, как только методы синтеза схем стали выдавать нормальные результаты, с ручной разводкой схем быстро завязали.

K>ЕМНИП Интел только в P-4 перешла на синтез. Просто железки обычно не разрабатывают по принципу "а давайте-ка мы как-нить сбоку вот эту фичу прикрутим". Если сразу сделать структурную схему девайса, то всё остальное будет проще.
Возможность развивать дизайн эволюционно — это функция мягкости материала. Раньше и программы начинали делать со структурной схемы, потому что рефакторить было слишком накладно. Как появились адекватные инструменты, эволюционный дизайн вошёл в моду. С появлением ПЛИСов в железе тоже стала появляться такая возможность.

0>>Там интерфейс попроще будет, чем VGA. Впрочем, у меня VGA-адаптер со знакогенерацией занимает две страницы на VHDL. Правда, там есть какие-то особенности реализации, которые я так и не понял.

K>Абсолютно то же самое один-в-один — только частота у LCD-панели у каждой своя (впрочем, многие панели не очень разборчивы, и будут работать в широком диапазоне частот развёртки). Ибо все современные видеопротоколы фундаментально одинаковы (из-за обратной совместимости — это ещё один "пунктик" у железячников )
K>Правда в твоём случае ещё нужен знакогенератор (т.к. ты пишешь в текстовом режиме как я понял), что несколько усложняет дело. Если бы использовал графический режим — то было бы то же самое с точностью до разрешения, размеров внеэкранных областей и частоты развёртки.
А там тоже есть "порожки" до/после сигнала синхронизации, когда отрисовка не происходит?

0>>Это вообще пока моя беда — некоторые вещи у меня работают вот так, а не иначе, и я не понимаю, почему вот так оно работает, а иначе — нет.

K>Ну дык выкладывай код и спрашивай — чем смогу, помогу. Как оказалось, я весьма неплохо всё помню с универа несмотря на то, что прошло 10 лет
Я думаю на codeplex проектик завести и поместить туда всё, что есть.

0>>SRAM-фигня, SDRAM веселее Разница в сложности между прямолинейной и оптимизированной реализациями раз в десять

K>Там SDRAM и демонстрируется — я не так написал. Товарищ авалоноский контроллер юзает. На моей девплате тоже SDRAM стоит, но в конечном девайсе мне нужно нечто побыстрее 100 МГц, так что думаю использовать DDR2/3 (тут рядом как раз тема об этом).
Авалоновский — это который в системе NIOS идёт? Я нашёл простейший контроллер в интернетах. Он тупой и неэффективный, зато я понимаю, как он работает

0>>P.S. А вообще я сейчас занят переписыванием ассемблера с VBA на C# Думаю, что надо будет подумать о портировании какого-нибудь простенького С-компилятора на свою архитектуру.

K>Возьми какой-нить flex/bison/yacc ну или что там сейчас модно юзать для создания парсеров. Мы в универе за две пары на лабах успевали полнофункциональный парсер С сделать
Я взял пока sprache. Простой монадический парсер, который позволяет правила грамматические прямо в коде писать. Вчерась я добил ассемблер до функциональности, идентичной прототипу на VBA, но внутри пока ужас-ужас
К тому же я хочу сделать ассемблер, который можно легко перенастроить на сборку другого ассемблера, т.к. мне следующим шагом надо будет новый микрокод реализовывать.

K>Кодогенератор тоже относительно просто сделать, если забить на оптимизацию. Основная сложность там — это портирование/написание crt. Вот с ней возни будет много.

Ну, если не браться за всю библиотеку разом, а писать функции по необходимости, то не так страшно будет, я думаю
Слона надо есть по частям

K>P.S. Ты бы кстати в блог почаще писал о прогрессе — интересно же, как там у тебя процесс идёт, какие грабли попадаются, ну и т. д.

Дык, прогресса почти что и нет пока Времени мало, к тому же я сейчас не делаю новые вещи, а довожу до ума уже сделанные. Я же до сих пор по сути прототипировал.
Я вот щас сделаю новую микроархитектуру, которая позволит эволюционировать процессор дальше, и займусь новыми вещами: байтовую адресацию прикручу, прерывания, более рациональную систему и формат команд, монитор напишу.
Вот после этого можно новую публикацию делать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.