Информация об изменениях

Сообщение Re[11]: Свой процессор на ПЛИС от 26.02.2016 9:40

Изменено 26.02.2016 10:36 koandrew

Здравствуйте, 0x7be, Вы писали:

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

Ну хозяин-барин как говорится Видимо тут сказывается разный бэкграунд — мне проще думать о железке в "железных" терминах. Плюс когда "схема" перед глазами, проще разобраться с таймингами.

0>А там тоже есть "порожки" до/после сигнала синхронизации, когда отрисовка не происходит?

Да. Вот даташит панели, которую я планирую использовать — там в разделе таймингов есть их описание (blanking). Я же говорю — железячники повёрнуты на обратной совместимости

0>Я думаю на codeplex проектик завести и поместить туда всё, что есть.

Да всё равно куда — лишь бы доступно было. Что именно непонятно-то?

0>Авалоновский — это который в системе NIOS идёт?

Смотри тут Он через qsys настраивается (по крайней мере в Quartus Prime 15.1, которую я юзаю). В их University Program вообще много какие полезные IP имеются — правда они все заточены под периферию, которая есть на девайсах этой программы (девайсы серии DEх от Terasic тоже к ней относятся), но для тебя это не должно быть проблемой, ибо как я понял ты не собираешься делать свои кастомные платы.

0>Я нашёл простейший контроллер в интернетах. Он тупой и неэффективный, зато я понимаю, как он работает

Главное понимать, как работать с ним. Как он сам работает, знать не обязательно. В этом смысл IP-блоков. Хотя и интересно иногда Пользоваться им очень просто — проверяешь готовность, если готов, то выдаёшь адрес на шину, на следующем тике забираешь данные. В обратную сторону аналогично. Посмотри видео короче. Там кстати ещё обсуждается вопрос перехода между временнЫми доменами, демонстрируется суть проблемы, и пути решения.

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


0>К тому же я хочу сделать ассемблер, который можно легко перенастроить на сборку другого ассемблера, т.к. мне следующим шагом надо будет новый микрокод реализовывать.
А зачем? Если поменяются коды команд, то тебе нужно будет адаптировать только кодогенератор. Парсер останется тем же. Или ты сам язык хочешь поменять?

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

0>Слона надо есть по частям
Ну ты посмотри на неё — там все функции завязаны друг на друга. Кстати я бы посоветовал тебе взять исходники crt от какого-нить промышленного МК (тот же AVR, или 8-битный PIC), ибо они создавались под те же условия, в которых придётся работать тебе (медленный чип, мало памяти). Кстати какая тактовая частота у твоего проца?

0>Дык, прогресса почти что и нет пока Времени мало, к тому же я сейчас не делаю новые вещи, а довожу до ума уже сделанные. Я же до сих пор по сути прототипировал.

0>Я вот щас сделаю новую микроархитектуру, которая позволит эволюционировать процессор дальше, и займусь новыми вещами: байтовую адресацию прикручу, прерывания, более рациональную систему и формат команд, монитор напишу.
0>Вот после этого можно новую публикацию делать.
"Жду" (С) "Иван Васильевич меняет профессию"
Re[11]: Свой процессор на ПЛИС
Здравствуйте, 0x7be, Вы писали:

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

Ну хозяин-барин как говорится Видимо тут сказывается разный бэкграунд — мне проще думать о железке в "железных" терминах. Плюс когда "схема" перед глазами, проще разобраться с таймингами.

0>А там тоже есть "порожки" до/после сигнала синхронизации, когда отрисовка не происходит?

Да. Вот даташит панели, которую я планирую использовать — там в разделе таймингов есть их описание (blanking). Только в цифровом интерфейсе нет DAC само собой. Я же говорю — железячники повёрнуты на обратной совместимости

0>Я думаю на codeplex проектик завести и поместить туда всё, что есть.

Да всё равно куда — лишь бы доступно было. Что именно непонятно-то?

0>Авалоновский — это который в системе NIOS идёт?

Смотри тут Он через qsys настраивается (по крайней мере в Quartus Prime 15.1, которую я юзаю). В их University Program вообще много какие полезные IP имеются — правда они все заточены под периферию, которая есть на девайсах этой программы (девайсы серии DEх от Terasic тоже к ней относятся), но для тебя это не должно быть проблемой, ибо как я понял ты не собираешься делать свои кастомные платы.

0>Я нашёл простейший контроллер в интернетах. Он тупой и неэффективный, зато я понимаю, как он работает

Главное понимать, как работать с ним. Как он сам работает, знать не обязательно. В этом смысл IP-блоков. Хотя и интересно иногда Пользоваться им очень просто — проверяешь готовность, если готов, то выдаёшь адрес на шину, на следующем тике забираешь данные. В обратную сторону аналогично. Посмотри видео короче. Там кстати ещё обсуждается вопрос перехода между временнЫми доменами, демонстрируется суть проблемы, и пути решения.

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


0>К тому же я хочу сделать ассемблер, который можно легко перенастроить на сборку другого ассемблера, т.к. мне следующим шагом надо будет новый микрокод реализовывать.
А зачем? Если поменяются коды команд, то тебе нужно будет адаптировать только кодогенератор. Парсер останется тем же. Или ты сам язык хочешь поменять?

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

0>Слона надо есть по частям
Ну ты посмотри на неё — там все функции завязаны друг на друга. Кстати я бы посоветовал тебе взять исходники crt от какого-нить промышленного МК (тот же AVR, или 8-битный PIC), ибо они создавались под те же условия, в которых придётся работать тебе (медленный чип, мало памяти). Кстати какая тактовая частота у твоего проца?

0>Дык, прогресса почти что и нет пока Времени мало, к тому же я сейчас не делаю новые вещи, а довожу до ума уже сделанные. Я же до сих пор по сути прототипировал.

0>Я вот щас сделаю новую микроархитектуру, которая позволит эволюционировать процессор дальше, и займусь новыми вещами: байтовую адресацию прикручу, прерывания, более рациональную систему и формат команд, монитор напишу.
0>Вот после этого можно новую публикацию делать.
"Жду" (С) "Иван Васильевич меняет профессию"