Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Grushin_coder_930.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.29 Mб
Скачать

Проектирование устройства управления

Устройство управления обеспечивает управление обратной связью в CRC-кодере, управляет вводом безызбыточной комбинации в сдвиговый регистр 1 и избыточной комбинации в сдвиговый регистр 2 (см. рис. 1).

В соответствии с заданием устройство управления спроектировано в виде текстового описания на языке AHDL [2,3]:

-------------------------------------------

-- Устройство управления

-------------------------------------------

INCLUDE " lpm_counter.inc";

INCLUDE " lpm_decode.inc ";

SUBDESIGN control_device

(

start,clock,enable,stop : INPUT;

switch,en,eq[16..1] : OUTPUT;

)

VARIABLE

counter : lpm_counter WITH (LPM_WIDTH=4,

LPM_DIRECTION="DEFAULT",

LPM_MODULUS=0,

LPM_SVALUE=1);

decode : lpm_decode WITH (LPM_WIDTH=4,

LPM_DECODES=16);

tr :SRFF;

mk :SRFF;

nt :SRFF;

l,mops :node;

BEGIN

l=enable & eq[10];

tr.(CLK, S, R)=(clock, start, l);

mk.(CLK, S, R)=(clock, start, eq[9]);

nt.(CLK, S, R)=(clock, start, eq[5]);

mops=tr.q;

counter.(CNT_EN, CLOCK, CLK_EN, ACLR)=(mops,clock,enable, !stop);

decode.(data[],enable)=(counter.q[],enable);

eq[]=decode.eq[];

switch=nt.q;

IF enable THEN

en=mk.q;

END IF;

END;

Работа устройства управления заключается в следующем. При приходе пускового импульса запускается счетчик на счет до 16. Досчитав до определенных тактов, он выдает следующие сигналы:

  • На 5-ом такте – сигнал switch для управления обратной связью в CRC-кодере;

  • На 9-ом такте – сигнал en управления вводом избыточной комбинации в сдвиговый регистр 2.

  • На 10– ом такте –запись результата.

Рассмотрим процесс работы более подробно. При подаче на вход start уровня логической единицы, RS-триггер переходит в единичное состояние. Сигнал с выхода RS-триггера поступает на вход cnt_en счетчика LPM_COUNTER. Изменение состояния счетчика LPM_COUNTER осуществляется тактовыми импульсами, поступающими по входу clk при высоких уровнях сигналов поступающих на входы cnt_en и clk_en. С выхода счетчика на вход демультиплексора поступает код, где происходит его преобразование в распределительный код 1 из 16. На выходах демультиплексора eq[16..1] образуется распределительный код «1 из 16». Появление логической единицы на выходе eq[10] подготавливает триггер к переключению в нулевое состояние, и с приходом очередного тактового импульса происходит это переключение. На вход разрешения счета cnt_en счетчика с выхода триггера поступает логический ноль, запрещая счет.

Используя сигналы eq[5], eq[9] с помощью триггеров нетрудно получить необходимые сигналы управления для кодера и сдвигового регистра (см. рис. 10):

Рис. 10. Временные диаграммы устройства управления

Для дальнейшей работы с проектом сохраним устройство в виде графического символа, представленного на рис. 11.

Рис. 11. Символ устройства управления

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]