Как обрабатывать перенос с помощью 1-битного ALU для создания 4-битного ALU в VHDL

Мне нужно создать 1-битное ALU, а затем использовать его для создания 4-битного ALU. Но у меня много проблем при работе с переносом.

4-битное АЛУ может иметь только 2 строки выбора, и перенос в нем использует перенос для генерации 8 различных случаев.

4-битный ALU может иметь только 2 линии выбора и перенос. Моя проблема заключается в том, как мне правильно обрабатывать перенос, чтобы вводить данные в другой ALU.

Например, если мне нужно добавить «0011» к «0011», вы заметите, что первое АЛУ, которому назначено добавлять первый бит из обоих 4-битных СЛОВ, будет производить перенос 1. Но когда этот перенос передается в другое АЛУ, Таблица функций переключится с сложения на вычитание. Так как Cin = 1 производит вычитание.

Таблица функций


person user3236694    schedule 26.01.2014    source источник
comment
Если вы хотите, чтобы мы сделали вашу домашнюю работу за вас, по крайней мере, покажите нам, что у вас уже есть.   -  person Daniel Kamil Kozar    schedule 26.01.2014


Ответы (1)


Я бы посоветовал вам игнорировать комментарии в скобках в таблице выбора. Первый комментарий «вычесть» не имеет для меня никакого смысла, если только над термином B не пропущена черта. Если вы сделаете это, то у вас будет довольно простой многобитный сумматор... за исключением функций увеличения/уменьшения. Это займет немного больше размышлений. Я подозреваю, что в таблице есть ошибки.

person Community    schedule 26.01.2014