Читайте также: |
|
Сдвигающий регистр (shift register) это n-разрядный регистр, содержимое которого можно сдвигать на каждом такте на несколько разрядов.
Сдвиг может осуществляться вправо (в сторону младших разрядов) и влево (в сторону старших разрядов).
Сдвигающий регистр может быть использован следующим образом:
· для преобразования входного последовательного кода в выходной параллельный код
· для преобразования входного параллельного кода в выходной последовательный код
· для выполнения микрооперации сдвига
Микрооперации сдвига используются при выполнении таких операций, как умножение, деление, возведение в степень, операции сдвига.
3.1.Схема 4-битного регистра сдвига вправо на один разряд приведена на рис.28.
Выход предыдущего разряда подается на информационный вход следующего разряда.
![]() |
Рис.28
RIN – вход последовательного ввода информации в регистр.
Таблица функционирования регистра (Таб.9).
Таб.9
Такт | RIN | q1 q2 q3 q4 |
t 0 | 0 1 1 0 | |
t 1 | 1 0 1 1 | |
t 0 | 0 1 0 1 | |
t 0 | 1 0 1 0 | |
t 0 | 0 1 1 0 | |
t 0 | 0 0 1 1 | |
t 0 | 0 0 0 1 |
3.2. Схема 4-разрядного сдвигаающего влево регистра представлена на рис. 29. Выход следующего разряда подается на информационный вход предыдущего.
![]() |
Рис. 29
LIN – вход последовательного ввода информации в регистр.
Таблица функционирования регистра (Таб.10).
Таб.10
Такт | q1 q2 q3 q4 | LIN |
t 0 | 0 1 1 0 | |
t 1 | 1 1 0 1 | |
t 0 | 1 0 1 0 | |
t 0 | 0 1 0 1 | |
t 0 | 1 0 1 1 | |
t 0 | 0 1 1 0 | |
t 0 | 1 1 0 0 |
У регистра с последовательным вводом и параллельным выводом имеются выходы со всех разрядов хранимых в нем битов.
Описание n-разрядного сдвигающего регистра со входом параллельной синхронной загрузки на Verilog.
module shift_reg(data, load, rin,clk,q);
parameter n=16;
input [n-1:0] data;
input clk, load, rin;
output [n-1:0] q;
integer i;
always @(posedge clk)
if (load) q<=data;
Дата добавления: 2015-09-11; просмотров: 78 | Поможем написать вашу работу | Нарушение авторских прав |