HDL Verilog: Mesin Status Sinkron

author-image

Oleh

Ini adalah contoh Verilog yang menunjukkan implementasi mesin status. Pernyataan CASE pertama menentukan output yang bergantung pada nilai status variabel mesin status. Pernyataan CASE kedua menentukan transisi mesin negara dan kondisi yang mengontrolnya.

Untuk informasi lebih lanjut tentang penggunaan contoh ini dalam proyek Anda, lihat bagian Cara Menggunakan Contoh HDL Verilog di halaman web Verilog.


statem.v

modul statem (clk, in, reset, out);

input clk, in, reset;
keluaran [3:0] keluar;

reg [3:0] keluar;
keadaan reg [1:0];

parameter nol=0, satu=1, dua=2, tiga=3;

selalu @(state) 
     begin
          case (state)
               nol:
                    out = 4'b0000;
               satu:
                    out = 4'b0001;
               dua:
                    out = 4'b0010;
               tiga:
                    out = 4'b0100;
                    bawaan: keluar = 4'b0000;
     endcase end always

@(posedge clk atau posedge
     reset) dimulai jika
          (reset)
               state = nol;
          kasus lain
               (negara bagian)
                    nol:
                         status = satu;
                    satu:
                         jika (dalam)
                              status = nol;
                         status lain
                              = dua;
                    dua:
                         status = tiga;
                    tiga:
                         status = nol;
     endmodule akhir endcase

Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.