Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Verilog

Dasar-dasar Verilog: Ringkasan Ringkas

Semua kode behavior ditulis di dalam module dan endmodule. Jadi, desain digital apa pun yang Anda buat, itu akan berada di dalam blok module. Ia mungkin memiliki port yang didefinisikan atau tidak - memungkinkan sinyal masuk ke dalam blok sebagai input atau keluar dari blok sebagai output.

Modul

Modul kosong dalam contoh di bawah ini disebut testbench. Anda dapat menamainya sesuai keinginan, asalkan alfanumerik dan dapat mengandung '_'.

  module testbench; endmodule  

Mari kita lihat modul lain. Ia memiliki beberapa sinyal (d, clk, rstb) yang dideklarasikan sebagai input dan q yang dideklarasikan sebagai output.

  module dff (input d, clk, rstb, output q); endmodule  

Tipe Data

Sekarang setelah kita melihat bagaimana tampilan modul, mari kita lihat apa yang dapat dimasukkan ke dalam modul, dengan melihat modul testbench sekali lagi. Terdapat terutama dua jenis tipe data dalam verilog :

Tipe data reg digunakan untuk menyimpan nilai seperti variabel, sementara wire mirip dengan kabel listrik yang harus dijalankan secara berkelanjutan. Biasanya wire digunakan untuk menghubungkan antara beberapa modul dan sinyal lain.

  module testbench; reg d; reg rst_b; reg clk; wire q; endmodule  

Penugasan

Verilog memiliki tiga blok dasar :

always @ (condition) selalu dieksekusi ketika kondisi terpenuhi
initial akan dieksekusi hanya sekali, saat simulasi dimulai
assign [LHS] = [RHS] Nilai LHS akan diperbarui setiap kali RHS berubah

Ada beberapa aturan yang perlu diingat saat menulis Verilog:

  module testbench; reg d; reg rst_b; reg clk; wire q; initial begin d = 0; rst_b = 0; clk = 0; #100 $finish; end always begin #10 clk = ~clk; end endmodule  

Catat hal-hal berikut dari contoh di atas:


Verilog

  1. Menguasai Verilog: Tutorial Lengkap untuk Desain Sirkuit Digital
  2. Menguasai Konkatenasi Verilog: Panduan Praktis
  3. Memahami Penugasan Verilog: Jenis, Sintaks, dan Praktik Terbaik
  4. Perbedaan Kunci Penugasan Blokir dan Non-Blokir Verilog
  5. Menguasai Fungsi Verilog untuk Desain RTL yang Efisien
  6. Memahami Tugas Verilog: Fungsi vs Tugas, Sintaks, dan Penggunaan
  7. Menguasai Ruang Lingkup Referensi Hierarkis Verilog: Hindari Tabrakan Nama dalam Modul dan Blok
  8. Generator Jam Verilog: Panduan Desain dan Implementasi
  9. Menguasai Fungsi Matematika Verilog untuk Desain Perangkat Keras yang Efisien
  10. Menguasai $timeformat Verilog: Kontrol Presisi dan Tampilan