Вход

Просмотр полной версии : ВУ0408А16 - Процессор своими руками



Temych640
12.07.2020, 11:36
Всем привет. Я решил сделать собственный простой 8-битный процессор. Я проектировал его, опираясь только на свои знания, и не хотел полностью копировать все внутренности из других процессоров, поэтому устройство работает немного по-другому(хотя может и нет). Этот проект был задуман в качестве эксперимента, в нем планировались следующие функции:
-8 бит данных и 16 бит адреса;
-АЛУ состоит из сумматора и вычитателя, логических операций нет;
-Программа будет считываться из ПЗУ, длинна обычной команды - одно слово; команды, которая требует адресации - 3 слова;
-3 8-битных регистра А, B, X; 16-битный регистр М, для адресации;
-Вывод пока что не предусмотрен, только светодиоды, выводящие содержимое регистров;
-10 инструкций, для тестов;
-Тактовая частота пока что неизвестна;

Пока что не разработано устройство управления, я думаю, оно будет на ПЗУ, но проблема в следующем - для команд, которые требуют адресации необходимо сначала увеличить содержимое PC, записать в регистр М младший байт адреса, снова увеличить содержимое PC, затем записать старший байт, считать данные по этому адресу и еще раз увеличить содержимое PC. Но, чтобы не было конфликта и все действия выполнились по порядку, нужно подавать сигналы на управляющие контакты тоже по порядку, но ПЗУ выводит все биты сразу. Это основная проблема, из-за которой я обратился на форум. Также, можете написать, что еще в моем устройстве нужно исправить/изменить/добавить и т.д. И еще, напишите, будет ли эта схема вообще работать?
Повторяю, проект задуман исключительно ради эксперимента, практического применения скорее всего нет.
В архиве документ с более подробной информацией, списком инструкций;
И, конечно принципиальная схема. Я создаю ее в Cadsoft Eagle 7.6.0. Все основные узлы я подписал, правда я не разобрался с шинами, поэтому они у меня в виде 8 или 16 проводов. И кстати, процессор основан не на простой логике, потому, что в этом случае мне понадобится примерно 50-100 микросхем(хотя их и так много), я использовал готовые микросхемы мультиплексоров, регистров, пзу и сумматора. И еще, я не разобрался, что подавать на вывод Vpp микросхемы ПЗУ.

Вот, изучайте:
73054

derfliegenddehollander
02.08.2020, 15:17
Идея замечательная! Но если не против дам совет использовать вот это (https://github.com/hneemann/Digital)! Там можно все это вывести в русло вот этого (http://iverilog.icarus.com) и будет просто отлично!

andrews
03.08.2020, 01:08
Всем привет. Я решил сделать собственный простой 8-битный процессор. Я проектировал его, опираясь только на свои знания, и не хотел полностью копировать все внутренности из других процессоров, поэтому устройство работает немного по-другому(хотя может и нет). Этот проект был задуман в качестве эксперимента, в нем планировались следующие функции:
-8 бит данных и 16 бит адреса;
-АЛУ состоит из сумматора и вычитателя, логических операций нет;
-Программа будет считываться из ПЗУ, длинна обычной команды - одно слово; команды, которая требует адресации - 3 слова;
-3 8-битных регистра А, B, X; 16-битный регистр М, для адресации;
-Вывод пока что не предусмотрен, только светодиоды, выводящие содержимое регистров;
-10 инструкций, для тестов;
-Тактовая частота пока что неизвестна;

Пока что не разработано устройство управления, я думаю, оно будет на ПЗУ, но проблема в следующем - для команд, которые требуют адресации необходимо сначала увеличить содержимое PC, записать в регистр М младший байт адреса, снова увеличить содержимое PC, затем записать старший байт, считать данные по этому адресу и еще раз увеличить содержимое PC. Но, чтобы не было конфликта и все действия выполнились по порядку, нужно подавать сигналы на управляющие контакты тоже по порядку, но ПЗУ выводит все биты сразу. Это основная проблема, из-за которой я обратился на форум. Также, можете написать, что еще в моем устройстве нужно исправить/изменить/добавить и т.д. И еще, напишите, будет ли эта схема вообще работать?
Повторяю, проект задуман исключительно ради эксперимента, практического применения скорее всего нет.
В архиве документ с более подробной информацией, списком инструкций;
И, конечно принципиальная схема. Я создаю ее в Cadsoft Eagle 7.6.0. Все основные узлы я подписал, правда я не разобрался с шинами, поэтому они у меня в виде 8 или 16 проводов. И кстати, процессор основан не на простой логике, потому, что в этом случае мне понадобится примерно 50-100 микросхем(хотя их и так много), я использовал готовые микросхемы мультиплексоров, регистров, пзу и сумматора. И еще, я не разобрался, что подавать на вывод Vpp микросхемы ПЗУ.

Вот, изучайте:
73054
не бывает простых 8-битных процессоров, начните с 3 битного -это уже 8 операций! Если недостаточно, то можно переходить к 4 или 5 битным. Чем меньше операций, тем проще ассемблер и схема. Когда отработаете технологию проектирования, можно переходить на более сложные. Регистров, кстати, может вообще не быть. Достаточно аккумулятора и памяти. Для программ может быть счетчик, а для памяти указатель. Скорее всего они будут кратны разрядности аккумулятора. Если нет указателя стека, значит программа будет без вызовов подпрограмм.

tielay
29.10.2025, 14:23
уточню ссылку на The ICARUS Verilog Compilation System - ВОТ (https://github.com/steveicarus/iverilog) т.к. инструмент нужный