Блок выдачи результата
Сдвиговый регистр суммы частичных произведений формируется аналогично регистру мантиссы множителя (рисунок 41).
а)
б)
Рис. 41. Регистр произведений схема в Quartus (a) и свойства в окне MegaWizard Plug-In Manager (б)
В результате может возникнуть ненормализованная мантисса, и для нормализации необходим сдвиг влево. Поэтому следует использовать схему логического сдвига с последующей записью в регистр rgsh.
Поскольку в Quartus нет возможности синтеза реверсивного регистра, необходимо осуществить сдвиг влево с помощью схемы логического сдвига, с последующей записью результата в регистр хранения сумм частичных произведений. Т.к. на вход данного регистра должны также поступать данные с сумматора sm1, в схему необходимо включить двухплечевой мультиплексор, на первое плечо которого подаются данные с сумматора, а на второе - результат сдвига влево содержимого регистра.
Для создания мультиплексора нажмите MegaWizard Plug-In Manager>Next.В разделе Gates укажите LPM_MUX. Задайте имя (ms2) и укажите параметры как на рисунке 42.
Рис. 42. Создание мультиплексора в Quartus
Для создания схемы логического сдвига нажмите MegaWizard Plug-In Manager>Next. Затем в разделе Gates укажите LPM_CLSHIFT. Задайте имя (например shifter) и нажмите Next. Укажите параметры как на рисунке 43а и 43б.
а)
б)
Рис. 43. Создание схемы логического сдвига
Далее нажмите три раза Next, затем Finish.
На вход схемы логического сдвига подается выход сдвигового регистра для хранения сумм частичных произведений rgsh. Выход схемы логического сдвига подсоединяется на второй вход мультиплексора (рисунок 44).
Рис. 44. Соединение схемы логического сдвига, мультиплексора и регистра хранения сумм частичных произведений в Quartus
Счетчик для хранения характеристики результата (рисунок 45) формируется аналогично счетчику тактов. Отличия состоят в том, что его разрядность 6, счетчик работает на вычитание и к нему добавляется вход синхронного сброса sclr. Для правильного формирования характеристики результата разряд ct1[4] необходимо инвертировать (является старшим значащим разрядом характеристики). Кроме того, старший разряд в счетчике хранит единицу переноса от суммы характеристик операндов (необходим для определения ПРС и ПМР).
Рис. 45. Счетчик для хранения характеристики результата
Для того, чтобы можно было наблюдать за изменением данных на входах и выходах элементов в процессе работы схемы, а также «видеть» значения осведомительных и предупреждающих сигналов, необходимо организовать массив (шины) «контрольных точек». Для этого можно воспользоваться компонентом output из библиотеки символов. Пример представлен на рисунке 46.
Рис. 46. Выходные шины осведомительных сигналов, признака ПРС и результата операции
Для формирования осведомительных сигналов в имени выходной шины следует указать все разряды, значения которых представляют собой осведомительные сигналы:
p[7] – признак ПРС;
ct2u[4] – старший разряд счетчика тактов;
p[5] – признак ПМР;
rg3[19] – старший разряд регистра сумм частичных произведений;
rg1[0] – младший разряд регистра мантиссы множителя;
p[2..1] – признак временного ПРС и равенства нулю соответственно.
Для шины результата необходимо указать sign – знак, nct14 – инвертированный старший разряд характеристики результата, ct1[3..0] – 4 разряда характеристики результата, rg3[9..0] – мантисса результата из регистра rgsh.
После того, как схема передачи данных построена, необходимо подключить к управляющим входам элементов схемы сигналы, сформированные управляющим автоматом.
Дата добавления: 2022-02-05; просмотров: 402;