Перейти к содержанию
    

Попытка создания собственного конвейера процессора.

10 часов назад, Yuri124 сказал:

Простите, может быть не понял - о каких тактах идет речь?

Тут же сплошная асинхронная схема.

Источник S2 - полагаю источник тактированного сигнала. Ну я так предполагал изначально.

44 минуты назад, 1891ВМ12Я сказал:

Я бы начинал с изучения HDL языка, например http://www.asic-world.com/verilog/veritut.html

Если цель именно процессор, конвейер, кэши и так далее - сначала потребуется освоить HDL язык на достаточном уровне, и тогда работа над процессором пойдет уже мягче и успешнее.

спасибо за ссылку.

Всего один вопрос - при проектировании для FPGA можно ли использовать длительность сигнала как некий барьер активации того или иного элемента схемы? Например логический элемент или тригер...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точнее не барьер, а порог активации. Хотя думаю что конечно вряд-ли...Если длительность сигнала не дотягивает - то чтобы не активировался...но это вряд-ли можно. Мне просто для того чтобы понять стиль написания тех или иных блоков, решения задачи. Про уровень сигнала знаю, мне интересно именно время.

Изменено пользователем accurate_random

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне не понятно зачем в Verilog операторы, если это язык описания аппаратуры...ну для аналоговой проверка каких-то условий пойдёт, но зачем смещать биты? Просто чтобы воспользоваться готовым блоком? Ну допустим, что стоит задача сместить бит - я использую опреатор, и компилятор встроит готовый участок схемы-цепи, который выполняит эту задачу?

И неужели кто-то считает, что схему труднее читать чем её текстовое описание? Хотя  ChatGPT  - наверняка. Зачем язык, если есть схема? Это то-же самое что и визуальный образ. В чём конструктив чтения текста, чтобы представить его потом в визуальном образе? Хотя-да, там написано - когда речь идёт о множествах блоков, тогда почему для него мало типа "wire".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё-таки важнее запустить симуляцию работы схемы, тогда может станет зачем там в Verilog много всего так. И потом уже по мере необходимости вникать в остальное...но за ссылку спасибо.

Изменено пользователем accurate_random

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

36 минут назад, accurate_random сказал:

Мне не понятно зачем в Verilog операторы, если это язык описания аппаратуры

И неужели кто-то считает, что схему труднее читать чем её текстовое описание? Хотя  ChatGPT  - наверняка. Зачем язык, если есть схема? Это то-же самое что и визуальный образ. В чём конструктив чтения текста, чтобы представить его потом в визуальном образе? Хотя-да, там написано - когда речь идёт о множествах блоков, тогда почему для него мало типа "wire".

Видимо это следствие прочтения книг, которые Вы получили. При всем моем уважении к старшему поколению, изучать схемотехнику на базе микросхем например серии 133 - никуда не годиться. Предлагаю скачать ниже перечисленное. Оно в свободном доступе. Уверен, с Вашим пытливым умом многие вопросы отпадут сами собой.

1.Цифровая схемотехника и архитектура компьтера: RISC-V  Сара Л. Харрис, Девид Харрис
2. Цифровой синтез. Практический курс. А.Ю. Романова, Ю.В. Панчула
3.Логическое проектирование встраиваемых систем на FPGA   Валерий Соловьев.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, ограничусь вторым и третьим пунктом. Читать первый не стану, так как это будет тратой времени, и я точно знаю - что мне не нужен такой процессор (много текстов об открытой архитектуре, но на самом деле про обещания мне тоже давно всё известно, тем более сказано - в основном это процессор Cell, и в общем там всё ясно и ничего вдруг появиться нового не может, чего-бы я не знал в общиз чертах). Но всё равно возьму в приоритет симуляцию, и по мере освоения симулятора - всё остальное. Да это вроде как признано направлением отечественной электронники, но извините  - я программирую иначе (мой генератор карт ничего не взял от алгоритма Брезенхема - я не имею привычки писать знакомые слова на стенах и прочее, в то время как современным программистам вижимо это зашло и сильно нравится, правда в написании кода), и мне эти видения - не подходят.

Изменено пользователем accurate_random

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, accurate_random said:

Зачем язык, если есть схема? Это то-же самое что и визуальный образ. В чём конструктив чтения текста, чтобы представить его потом в визуальном образе?

Пройдет буквально 2-3 года, и Ваши схемы будут настолько сложны, что вопрос, почему даже для тех сравнительно простых схем вот уже 40 лет назад был разработан первый HDL язык... Единственное место где графическое описание имеет хоть какой то смысл, это block design для проектов ПЛИС, но и то - только на самом верхнем уровне, где используется автоматизация подключений шин и их верификация.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Сложность...ну разве что суть станет совсем сложной для двумерного графического отображения - такое вполне может быть, так или иначе - мы воспринимаем только двумерное изображение, а трехмерное достраивает мозг.

Изменено пользователем accurate_random

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 01.03.2024 в 01:38, accurate_random сказал:

Всё-таки важнее запустить симуляцию работы схемы, тогда может станет зачем там в Verilog много всего так. И потом уже по мере необходимости вникать в остальное...но за ссылку спасибо.

Можно и в LTspice всё просимулировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 2/26/2024 at 11:25 AM, MegaVolt said:

Работа схем без тактирования называется асинхронной логикой. И много где исследована. Вот например букварик.

Одна беда. Под неё нету ничего отладочного. Плисы заточены под другое. А делать асики сложно и дорого.

Асинхронную логику можно легко реализовать на ПЛИС. Но проблема здесь в другом - асинхронная логика может быть быстрее при выполнении единичных операций. А при поточной обработке информации синхронная логика будет намного быстрее. Допустим, есть некоторая операция, которая на асинхронной логике работает на частоте 100 МГц. А на синхронной разбивается на 4 такта и работает на частоте 200 МГц. Кажется, что асинхронная быстрее в два раза. Но если в схеме на синхронной логике организовать конвейер и подавать данные каждый такт, то да, первый результат будет позже по сравнению с асинхронной логикой (выше латентность), но потом результат будет получаться каждый такт. И это уже на частоте 200 МГц, то есть синхронная логика в этом случае будет в два раза быстрее.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 2/29/2024 at 8:13 PM, accurate_random said:

Источник S2 - полагаю источник тактированного сигнала. Ну я так предполагал изначально.

Запускать тактирующий сигнал через такую цепочку ЛЭ - ну, так себе идея, я полагаю.
В идеале - тактирующий сигнал приходит одновременно на все тактируемые элементы. 
 

On 2/29/2024 at 9:23 PM, accurate_random said:

но зачем смещать биты? Просто чтобы воспользоваться готовым блоком?

в реальности при синтезе в железе получим, например, коммутатор. Т.е. - можно его описать просто одной строкой текста.

 

On 2/29/2024 at 9:23 PM, accurate_random said:

неужели кто-то считает, что схему труднее читать чем её текстовое описание?

Читать - может быть и легче, а вот понять ее работу...
Ну и - очень часто несколько строк кода позволяют описать функционирование достаточно сложного по схемотехнике узла. вместо того, чтобы конструировать его самому из логических элементов.

Т.е. эту рутинную работу, сопряженную с возможностью ошибиться, Вы поручаете синтезатору.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 часов назад, 1891ВМ12Я сказал:

Я бы начинал с изучения HDL языка, например http://www.asic-world.com/verilog/veritut.html

Если цель именно процессор, конвейер, кэши и так далее - сначала потребуется освоить HDL язык на достаточном уровне, и тогда работа над процессором пойдет уже мягче и успешнее.

Мне кажется, что человеку еще рано за языки браться пока нет понимания цифровой схемотехники. Ему нужно начать с самых базовых вещей.  Понять что такое комбинационная логика, триггеры (RS, D); мультиплексоры, счетчики, памяти. Зачем нужен тактовый сигнал. Без этой базы вряд ли что то дельное получится. Пока видно, что человек плавает в самых простых вещах. Найти какой-нибудь хороший институтский курс по цифровой схемотехнике.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 часов назад, attaboy сказал:

асинхронная логика может быть быстрее при выполнении единичных операций.

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

10 часов назад, Yuri124 сказал:

В идеале - тактирующий сигнал приходит одновременно на все тактируемые элементы. 

можно, но только тогда третьим источником, а первые два - постоянный нетактируемый сигнал.

 

11 часов назад, Yuri124 сказал:

Читать - может быть и легче, а вот понять ее работу...

аналогично, человеку прочтенный текст прийдётся  вкладывать в абстрактный образ, который ближе к графическому представлению.

9 часов назад, gin сказал:

Ему нужно начать с самых базовых вещей. 

да, с симулятора.

9 часов назад, gin сказал:

Найти какой-нибудь хороший институтский курс по цифровой схемотехнике.

Сначала обойдусь минимумом - симулятором.  А потом можно и остальное.

22 часа назад, HardEgor сказал:

Можно и в LTspice всё просимулировать.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вроде что-то получается. Диоды тут лишние.

Думаю что сделаю.

Screenshot from 2024-03-01 21-31-29.png

Единственное знать-бы ещё как состояния тригеров выставлять...и пошаговое выполнение через тактирование. Только наверное для тактирования тогда надо третий источник к "блокам" подключать, а первые два сделать постоянной единицей. Впрочем потом это.

Изменено пользователем accurate_random

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...