DOĞU AKDENİZ ÜNİVERSİTESİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
BLGM223 SAYISAL MANTIK SİSTEMLERİ
DENEY VI: Bileşimsel Devrelerin VHDL ile Tasarımı : Ağ Listeleriyle Yapısal Programlama.
Amaçlar: Bu deneyin temel amacı bileşimsel devrelerin VHDL ile yapısal tasarım ve tanımlamalarının yöntemlerini tanımak ve öğrencilerin QUARTUS II
ortamında bilgilerini sınamalarını sağlamaktır.
Deney Öncesi Çalışma:
Açıklamlar bölümünü okuyup, buradaki örneklerden yola çıkarak deney adımlarını yapmaya çalışınız.
AÇIKLAMLAR: Ağ Listeleriyle Yapısal Tasarım için bir Örnek:
Aşağıdaki devreyi giriş-çıkış terminallerini ve sinyal tanımlarını dikkate alarak inceleyiniz. Bir kapı çıkışını bir kapının girişine bağlayan
her sinyal bir ağ (NET) olarak tanımlanır. Bütün ağların oluşturduğu kümeye ise “ağ listesi” (NETLIST) denir. Açık olarak, bileşimsel bir
devrenin yapısı devrenin ağ listesi ile belirtilebilir ve devrenin çıkış işlevi ifadeleri tek tek sinyaller çinsinden yazılabilir. Bir ağ listesine
ait sinyaller ilgili devre yapısının yerel değişkenleridir ve “architecture” bloğu içerisinde SIGNAL cümlesi ile tanımlanırlar. Aşağıdaki
örnekte bu konu ile ilgili bir örnek sergilenmiştir:
1
NOT
1
X3
INPUT
VCC
X3L
AND2
X3L_X0
5
11
NOT
2
X2
INPUT
VCC
X2L
6
AND3
NOT
3
X1
INPUT
VCC
X3L_X2L_X1
X1L
OR4
10
7
AND3
9
4
X0
OUTPUT
13
X2L_X1_X0
F
12
INPUT
VCC
AND3
X2_X1L_X0
8
Bu bileşimsel devreyi ağ listeleri yoluyla gerçekleyen yapısal VHDL kodu aşağıdaki gibidir:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY blgm223_deney6 IS
PORT (x0, x1, x2,X3 : IN STD_LOGIC;
F
: OUT STD_LOGIC);
END blgm223_deney6;
ARCHITECTURE Yapısal_AğListesi of blgm223_deney6 is
SIGNAL(X3L, X2L, X1L, X3L_X0, X3L_X2L_X1, X2L_X1_X0, X2_X1L_X0: STD_LOGIC); -- ağ bağlantılarını tanımlayan listesi burada
--listelenmiştir. Bu sinyal isimleri normal program-- lama dillerindeki yerel değişkenlere benzerdir.
2
BEGIN
X3L <= not X3;
X2L <= not X2;
X1L <= not X1;
X3L_X0 <= X3L and X0;
X3L_X2L_X1 <= X3L and X2L and X1;
X2L_X1_X0 <= X2L and X1 and X0;
X2_X1L_X0 <= X2 and X1 and X0;
F <= x3L_X0 or X3L_X2L_X1 or X2L_X1_X0 or x2_X1L_X0;
END Yapısal_AğListesi;
Deney Çalışması:
1. Aşağıda verilen bileşimsel devreyi dikkate alarak:
A. S1 den S11’e kadar her sinyal için Bool ifadelerini yazınız.
B. Çıkış işlevi F(.) için Bool ifadesini ağ listesindeki sinyaller çinsinden yazınzı.
C. Bu devre için ağ listesini kullanarak devreyi tanımlayan yapısal VHDL kodunu yazınız.
D. Verilen devrenin doğruluk tablosunu çıkarınız..
E. QUARTUS II ortamında devreyi derleyip simulasyonunu tamamlayınız.
F. Simulasyon sonuçlarını ve doğruluk tablosunu karşılaştırarak VHDL programının doğru
çalıştığından emin olunuz.
3
4
3
2
1
OR2
13
X0
X1
X2
X3
S6
S10
S7
AND3
10
VCC
INPUT
VCC
INPUT
VCC
INPUT
NOT
5
VCC
INPUT
AND3
9
OUTPUT
16
F
NAND2
15
NOT
S2
AND2
14
NOT
7
S8
S11
OR3
12
S3
S9
NOT
XOR
11
8
6
S1
S4
4
NOTLAR:
1. Laboratuara hazırlıklı gidiniz, deney öncesi çalışmaları tamamlamaya gayret ediniz.
2. Deney öncesi çalışmaları ve deney adımlarını kendiniz yapınız. Arkadaşlarınızla fikir alış verişi yapmanız doğru bir davranış olsa
da, işin sizin tarfınızdan yapılması çok önemlidir.
3. Laboratuar süresi 2 saatir ve uzatılması mümkün değildir. Laboratuara deney adımlarının büyük bir bölümünü tamamlamış olarak
gidiniz. Böylece deneyleri zamanında tamamlamış olursunuz.
BAŞARILAR
Dr. Adnan Acan
5
Download

AÇIKLAMLAR: Ağ Listeleriyle Yapısal Tasarım için bir Örnek