DENEY 6

advertisement
TOBB Ekonomi ve Teknoloji Üniversitesi
BİL 264L/ELE 263L
Deney 6
DENEY 6
Hesap Makinesi
module hesapMakinesi (
input clk, rst, valid_in,
input signed [7:0] data_in, // isaretli sinyal
output valid_out,
output [15:0] cikis
);
Bu deneyde, yukarıda giriş çıkış portları verilen hesap makinesi durum makinesi kullanılarak oluşturulacaktır.
Devrenin çalışma şekli aşağıdaki gibidir:





Bütün okumalar ve işlemler saatin yükselen kenarında yapılmaktadır.
rst sinyali 1 iken, devre çalışmamaktadır ve çıkış geçersizdir.
rst sinyali 0 iken, valid_in sinyali 1 ise girişler geçerli demektir ve data_in girişindeki veri kullanılacaktır.
Devrenin tek bir veri girişi portu olduğundan hem işlemlerde kullanılacak sayılar hem de işlemin ne
olacağı bu porttan okunacaktır. Bu porttan okunan ilk geçerli değer (valid_in = 1 iken) ilk sayı, ikinci
geçerli değer işlem kodu ve üçüncü geçerli değer de ikinci sayı olmaktadır. Geçerli bir değer gelmediği
sürece herhangi bir ilerleme olmayacaktır ve gelene kadar aynı aşamada beklenecektir.
İşlem kodu tanımlı değerler dışında ise geçerli bir işlem kodu gelene kadar beklenecektir.
Üç adet geçerli değer gelmişse sonraki saat vuruşunda (yükselen kenarda) gerekli hesaplama yapılıp
geçerli (valid_out = 1) sonuç çıkışa (data_out) verilecektir. Bir saat çevrimi boyunca çıkış geçerli olduktan
sonra tekrar yeni hesaplama için girdi beklenecektir.
Hesap makinesinin yapacağı işlemler ve kodları aşağıdaki tabloda verilmiştir.
İşlem Kodu
İşlem
0
Birinci sayı ile ikinci sayı toplanır.
1
Birinci sayıdan ikinci sayı çıkarılır.
2
Birinci sayı ile ikinci sayı çarpılır.
3
Birinci sayı ile ikinci sayı VE’ lenir (çıkışın üst sekiz
biti sıfırlanır).
4
Birinci sayı ile ikinci sayı VEYA’ lanır (çıkışın üst sekiz
biti sıfırlanır).
5
Birinci sayı ile ikinci sayı ÖZEL VEYA’ lanır (çıkışın üst
sekiz biti sıfırlanır).
6
Birinci sayının sağına ikinci sayı eklenir.
7
İkinci sayının sağına birinci sayı eklenir.
Download