Selasa, 01 Maret 2011

Algoritma dan Pemograman Pada Module D Flip-Flop


BAHASA PROGRAM

1. // D flip-flop Code
2. module d_ff(d,clk,q,q_bar); // mendeklarasikan semua variabel
3. input d, clk; // mendefinisikan variable input
4. output q, q_bar; // mendefinisikan variable output
5. wire d, clk;
6. reg q, q_bar;
7. always @(posedge clk)
8. begin
9. q <= d;
10. q_bar <= !d;
11. end
12. endmodule

Penjelasan:
module d_ff(d, clk, q, q_bar);
Menciptakan module dari perangkat keras yang hendak dibuat dan mendefinisikan variable – veriabel yang menyusunnya merupakan langkah awal ketika mulai mendesain program untuk suatu perangkat – keras. Module diatas mempunyai nama ‘d_ff ‘, yang mempunyai 4 buah variabel ; d, clk, q, & q_bar.
input d, clk;
Langkah berikutnya definisikan lebih detail variable – variable tersebut. Variabel ‘d ‘ dan ‘clk ‘ merupakan variable input.
output q, q_bar;
Mendefinisikan ‘q ‘ dan ‘q_bar ‘ sebagai variable output.
wire d, clk;
Sebagai input biasanya pin – pin tersebut hanya melewatkan pulsa masukan ( input value). Sehingga pin – pin tersebut bisa dianggap sebagai kabel perantara atau penyambung (wire).
reg q, q_bar;
Berkebalikan dengan pin – pin masukan yang hanya berfungsi sebagai kabel penghantar saja, pin – pin keluaran akan menahan pulsa keluaran ( output value). Sehingga bisa diumpamakan seperti register yang mempunyai fungsi sebagai penyimpan sementara.
always @(posedge clk)
Rangkaian D Flip – flop memerlukan clock yang secara terus-menerus (always) untuk men-drive atau menghantarkan nilai masukan ke pin – pin keluaran. Karena clockdisini mulai men-drive pada setiap sisi naik-positif (posedge) maka pendefinisian tersebut sangat penting. Gambar berikut memberikan penjelasan posedge dannegedge.






Clock yang aktif pada sisi naik-posistif ( Posedge )
Clock yang aktif pada sisi turun-negatif ( Negedge ).
begin
q <= d;
q_bar <= !d;
end
Begin berfungsi untuk memulai suatu proses, setelah proses selesai, diakhiri denganend. Jalannya proses adalah sebagai berikut:
Pada posedge-clock yang pertama nilai bit yang ada di pin masukan, ‘d’, dikirimkan ke pin keluaran, ‘q’. Pada saat yang sama pin keluaran, ‘q_bar ‘, mendapatkan nilai yang berkebalikan dengan nilai q atau !d. Jadi saat posedge-clock yang pertama, q = 1, dan q_bar = 0. Kemudian pada siklus posedge-clock yang kedua, q = 0, dan q_bar = 1.
endmodule
Perintah ini digunakan sebagai penutup module D-FF yang telah dibuat.

Referensi :
http://ic2design.wordpress.com/

Tidak ada komentar:

Posting Komentar