out , // Output of the counter
enable , // enable for counter
clk , // clock Input
reset // reset Input
);
//----------Output Ports--------------
output [7:0] out;
//------------Input Ports--------------
input enable, clk, reset;
//------------Internal Variables--------
reg [7:0] out;
//-------------Code Starts Here-------
always @(posedge clk)
if (reset) begin
out <= 8'b0 ;
end else if (enable) begin
out <= out + 1;
end
endmodule
------Penjelasan------
Diawali dengan komentar yg berisi nama desain, nama file yang telah di tentukan yaitu up_counter, lalu Up counter yang memiliki fungsi sebagai rangkaian counter yang menghitung naik.
lalu masuk blok selanjutnya, pertama penyertaan paket module nya dulu, lalu ada (out , // output of the counter) yang artinya hasil keluaran berasal dari perhitungan counter nya.
selanjutnya ada perintah untuk pemberian akses counter untuk aktif, lalu (clk , // clock input) yang artinya masukan untuk clock, lalu ada perintah untuk mereset masukan nya.
lalu blok ketiga untuk pendeklarasian outputnya, dari nyala led yang jumlah nya 8 di set hasil output akan mulai nyala dari led pertama dengan hitungan awal 0 sampai hitungan led paling akhir yaitu 7,
dan muntuk deklarasi inputnya di berikan keterangan masukan aktif, clk(clock), reset.
dan sampai pada penjelasan akhir yaitu
if (reset) begin
out <= 8'b0 ;
end else if (enable) begin
out <= out + 1;
end
yang artinya jika kita mereset nyala lampu ini akan kembali pada awal dimana led 0 atau led posisi pertama, lalu jika kita mengaktifkan nya lagi out+1 yaitu nyala led dari posisi led 0 akan bertambah 1(aktif) terus sampai led 7. dan end yang artinya program berakhir.
Source : http://www.asic-world.com/examples/verilog/simple_counter.html#8-Bit_Simple_Up_Counter
0 komentar:
Posting Komentar