LAB -‐ 5 BİL 321 Mantık Devreleri Tasarımı Adı Soyadı : Numarası : LAB-5: Registerlar 1. Registerların Verilog ile Modellenmesi: 1.1. Yeni bir proje oluşturunuz. Projenizin ismi lab5 olsun. 1.2. Yeni bir Verilog modülü oluşturunuz. Modülünüzün ismi my_register olsun. Bu modüle 4-Bitlik asenkron silmeli (reset) ve senkron yüklemeli (load) register elemanının Verilog HDL kodunu yazınız. 1.3. Yeni bir Verilog modülü oluşturunuz ve bu modüle Şekil-1’de verilen saat bölücü kodunu yazınız. Saat bölücü modülü clk saat işaretini N’e bölerek yeni bir saat işareti oluşturmaktadır. Bu modülün giriş saat işareti (clk) Spartan 3E kartı üzerindeki saat sinyalinden alınacaktır. Bu saat sinyalinin frekansı 50 MHz’dir. Modülün çıkış saat işareti (yeni_clk) 1 Hz’lik bir frekansa sahip olacak şekilde N değerini hesaplayarak modülde yazınız. 1.4. Yeni bir Verilog modülü oluşturunuz. Bu modülün ismi register_uyg olsun. Bu modülde Şekil-2’de verilen yapıyı gerçekleyiniz. 1.5. Spartan 3E kartınızı bilgisayara bağlayınız. 1.6. register_uyg modülünün clk girişine Spartan 3E kartının saat sinyali uygulanmalı (C9) ve rst girişi ile kart üzerindeki bir anahtar arasında bağlantı sağlanmalıdır. Modülün 4 bitlik çıkışı kart üzerindeki LED’ler ile bağlanmalıdır. 1.7. Modülünüz Spartan 3E kartına yüklenerek çalıştırınız. module saat_bol(input clk, output reg yeni_clk); reg [22:0] N, sayac; register_uyg initial begin N <= 23'd2; sayac <= 23'd0; yeni_clk <= 0; end always @(posedge clk) begin if(sayac == N-1) begin yeni_clk <= ~yeni_clk; sayac <= 0; end else sayac <= sayac + 1; end endmodule Şekil – 1. Saat bölücü modülü my_register D[0] D[1] D[2] D[3] clk saat_bol clk Şekil – 2. Üst modül Saat bölücü modülü yazıldı Uygulama modülü yazıldı proje çalıştı clk Register modülü yazıldı Karta yükleme yapıldı LED[0] LED[1] LED[2] LED[3] yeni_clk Değerlendirme: Pin atama yapıldı Q[0] Q[1] Q[2] Q[3] LAB NOTU
© Copyright 2024 Paperzz