PSL Vhdl

Zadanie 1.

Napisać Program w języku VHDL który będzie odwzorowywał zasadę działania Sumatora:

Rysunek 1 Schemat budowy sumatora

ai bi ci-1 si ci
0 0 0 0 0
0 1 0 1 0
1 0 0 1 0
1 1 0 0 1
0 0 1 1 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1

Przedstawiona powyżej Tabela przedstawia zasadę działania sumatora.

gdzie:

ai – pierwszy składnik sumy

bi – drugi składnik sumy

ci−1 – przeniesienie z poprzedniej pozycji

si – suma

ci – przeniesienie

Wyrażenia boolowskie opisujące sumę i przeniesienie:

Program Sumatora napisany w języki VHDL:

Library idee;

use idee.std_logic_1164.all;

entity sum1 is

port(a,b,ci: in std_logic;

s, co : out std_logic);

end sum1;

architecture arch1 of sum1 is

signal T : std_logic;

begin

T<= a xor b;

S<= ci xor T;

Co <= (a and b) or (ci and T);

End arch1;

Zadanie 2.

Napisać w języku VHDL zadane wyrażenie logiczne:

Y=$\sum_{}^{}{\lbrack 1,3,4,5,7,12\rbrack}$

Do tego zadania musieliśmy wykorzystać Tablicę  Karnaugh

cd

a,b

0 0

0 1

1 1

1 0

0 0

- [0]

1 [1]

1 [3]

0 [2]

0 1

1[4]

1[5]

1[7]

0[6]

1 1

1[12]

0 [13]

0 [15]

-[14]

1 0

0[ 8]

0[9]

0 [11]

0 [10]

Po zminimalizowani u funkcji otrzymaliśmy:


$$y = b\overset{\overline{}}{c}\overset{\overline{}}{d} + \overset{\overline{}}{\text{a\ }}d$$

Program w języku VHDL:

Library idee;

use idee.std_logic_1164.all;

entity sum2 is

port(a,b,c,d: in std_logic;

y : out std_logic);

end sum2;

architecture arch1 of sum2 is

begin

y <= (b and (not c)and (not d)) or ((not a)and d);

End arch1;

Rysunek 2 Bloki zadanego programu w AHDL

Wnioski :

Język VHDL spełnia podobną funkcję w dziedzinie projektowania sprzętu, język VHDL można reprezentować układy cyfrowe na poziomach: od bramkowego do systemowego. Oznacza to, że najmniejszym elementem naszego projektu jest bramka logiczna.


Wyszukiwarka