Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
28
Добавлен:
17.04.2013
Размер:
2.35 Mб
Скачать

2. Задание на курсовой проект

Вариант №33

Вход

Вход

Вход

Выход

Выход

С

D

R

Q

Qn

\

H

H

H

Qn-1

\

B

H

B

Qn-1

X

X

B

H

H

Примечание: Схема содержит два независимых 4-х разрядных регистра сдвига. Каждый регистр имеет 4 выхода Q от каждого триггера.Все триггеры регистра 2-х ступенчатые ,D-типа. Данные в регистр вводятся через последовательный входD. Регистр имеет вход тактовых импульсовC причем данные принимаются от входаD первого триггера и сдвигаются на 1 такт в право после каждого положительного такта на входе С.

Сброс данных на выходе Q регистра получается если на вход асинхронного сброса подать уровень логической 1.

4.Использующиеся элементы

Имя файла elements.vhd

Entity dcrtt is

generic(delay01, delay10: time := 10 ns);

port(r,d,c: in bit; q,nq: out bit);

end dcrtt;

Architecture behavior of dcrtt is

signal stored,intsig: bit;

begin

process

begin

if r = '1' then

intsig <= '0'; stored <= '0';

elsif c = '0' and not c'stable then

intsig <= stored;

elsif c = '1' then

stored <= d;

end if;

if intsig'event then

if intsig = '1' then

q <= intsig after delay01;

nq <= not intsig after delay10;

else

q <= intsig after delay10;

nq <= not intsig after delay01;

end if;

end if;

end process;

end behavior;

entity inv is:

port(x: in bit; y: out bit);

end inv;

architecture behavior of inv is

signal intsig: bit;

begin

process(x)

begin

intsig <= not x;

case intsig is

when '0' => y <= intsig;

when '1' => y <= intsig;

end case;

end process;

end behavior;

5.Архитектуры

Имя файла kursov.vhd

library elements;

use elements.all;

Entity reg is

port(Q1,Q2:inout bit_vector(1 to 4);CLK:in bit_vector(1 to 2);D1,D2:in bit;RES:in bit_vector(1 to 2));

end REG;

Architecture str of reg is

component inv

generic(del01,del02:time:=2ns);port(x:in bit;y:out bit);

end component;

component dcrtt

port(r,d,c: in bit; q,nq: out bit);

end component;

signal n1,n2,m1,m2,m3,m4:bit_vector(1 to 2);

signal n3:bit_vector(1 to 8);

begin

d1:inv port map(D1,n1(1));d2:inv port map(D2,n1(2));

d3:inv port map(n1(1),n2(1));d4:inv port map(n1(2),n2(2));

d5:inv port map(n3(1),Q1(1));d6:inv port map(n3(2),Q1(2));

d7:inv port map(n3(3),Q1(3));d8:inv port map(n3(4),Q1(4));

d9:inv port map(n3(5),Q2(1));d10:inv port map(n3(6),Q2(2));

d11:inv port map(n3(7),Q2(3));d12:inv port map(n3(8),Q2(4));

d13:dcrtt port map(RES(1),n2(1),CLK(1),m1(1),n3(1));

d14:dcrtt port map(RES(1),m1(1),CLK(1),m2(1),n3(2));

d15:dcrtt port map(RES(1),m2(1),CLK(1),m3(1),n3(3));

d16:dcrtt port map(RES(1),m3(1),CLK(1),m4(1),n3(4));

d17:dcrtt port map(RES(2),n2(2),CLK(2),m1(2),n3(5));

d18:dcrtt port map(RES(2),m1(2),CLK(2),m2(2),n3(6));

d19:dcrtt port map(RES(2),m2(2),CLK(2),m3(2),n3(7));

d20:dcrtt port map(RES(2),m3(2),CLK(2),m4(2),n3(8));

end STR;