Senin, 30 Oktober 2017

8-Bit Simple Up Counter

module up_counter    (
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