Форум программистов, компьютерный форум, киберфорум
Микропроцессоры
Войти
Регистрация
Восстановить пароль
 
28 / 13 / 1
Регистрация: 20.01.2013
Сообщений: 142
Записей в блоге: 6
1

Little man computer. Запись в аккумулятор

15.04.2018, 11:22. Просмотров 838. Ответов 0
Метки нет (Все метки)

LMC - это простой учебный процессор. Я пытаюсь смоделировать его в Quartus'е на языке Verilog.
В основном модуле у меня находится 8бит'ное ОЗУ. Каждая ячейка ОЗУ хранит команду и адрес для перехода по команде.
Например, команды "91" и "92" производят запись в аккумулятор Асс и в устройство вывода Output_Unit. Соответственно, в ОЗУ для этих команд у меня записано - 1001 0001 и 1001 0010. К выходу ОЗУ у меня подключен дешифратор команд
Картинка дешифратора

and(cu[0],~cu_bus[3], ~cu_bus[2], ~cu_bus[1], ~cu_bus[0]);
and(cu[1],~cu_bus[3], ~cu_bus[2], ~cu_bus[1], cu_bus[0]);
and(cu[2],~cu_bus[3], ~cu_bus[2], cu_bus[1], ~cu_bus[0]);
and(cu[3],~cu_bus[3], ~cu_bus[2], cu_bus[1], cu_bus[0]);


Я подключаю к основному модулю аккумулятор

module register4bit
( input [3:0] reg_din,
input reg_clk,
output [3:0] reg_dout );
reg [3:0] q;
always @(posedge reg_clk)
q <= reg_din;
assign reg_dout = q;
endmodule

и произвожу запись в Асс командой "91"

register4bit Acc_reg (
.reg_din(din[3:0]),
.reg_clk(cu[9]& dout[1]),
.reg_dout(Acc_reg_out)
);

din - это устройство ввода
cu[9] - это дешифрованная команда 1001
dout[1] - это адрес аккумулятора 0001
Также я подключаю устройство вывода Output_Unit. Последовательную обработку команд (переход в ОЗУ от младшего адреса к старшему) осуществляю счетчиком.
Вот RTL-модель.
На практике оказывается, что схема плохо синхронизирует команду "9" и адреса "1", "2". Может надо, например, на Тактовый вход Асс поставить конечный автомат, синхронизирующий команду "9" и адреса ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2018, 11:22
Ответы с готовыми решениями:

В чем отличие x-man:~ qwe$ и x-man:~ qwe#
В чем отличие между такой x-man:~ qwe$ записью и такой x-man:~ qwe# и как переходить с # в $, и...

Запускаю Computer Browser, сразу же закрывается: the computer browser service on started and then stopped
Может кто-то знает решение? Настраиваю сеть между двумя виртуальными машинами. Первая это Win...

Команда man
Как с помощью команды man вывести не полную справочную информацию по какой-то команде, а краткую?

Свой man
Создал в домашнем каталоге иерархию папок типа homedir/man/man1/cmd.1 где cmd.1 - файл, содержащий...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2018, 11:22

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

Man-Word.com
Всем привет!Ребят,огромная просьба,оцените сайт,если не сложно.Хочется узнать взгляд со...

Множество Man
У меня есть класс Man. В нем записаны имя человека, возраст, рост, здоровье и еще другие значения...

Ищется Joomla-man
Доброго времени суток. Проблема следующая: в таблицу X_content забил 14к статей, после чего...

Pac-Man в консоли
обьект перемещается по полю, собирает &quot;еду&quot;, обходит препятствия и не выходит за края. Реализовал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.