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

Blok awal Verilog

Satu set pernyataan Verilog biasanya dieksekusi secara berurutan dalam simulasi. Pernyataan ini ditempatkan di dalam prosedur memblokir. Terutama ada dua jenis prosedur blok di Verilog - awal dan selalu

Sintaks

  
  
	initial 
		[single statement]

	initial begin
		[multiple statements]
	end

  

Untuk apa blok awal digunakan?

Sebuah initial blok tidak dapat disintesis dan karenanya tidak dapat diubah menjadi skema perangkat keras dengan elemen digital. Oleh karena itu blok awal tidak melayani banyak tujuan selain untuk digunakan dalam simulasi. Blok ini terutama digunakan untuk menginisialisasi variabel dan mendorong port desain dengan nilai tertentu.

Kapan blok awal dimulai dan berakhir?

Sebuah initial blok dimulai pada awal simulasi pada waktu 0 unit. Blok ini akan dieksekusi hanya sekali selama seluruh simulasi. Eksekusi initial blok selesai setelah semua pernyataan dalam blok dieksekusi.

verilog-initial-block

Gambar di atas memiliki module disebut berperilaku yang memiliki dua sinyal internal yang disebut a dan b. initial blok hanya memiliki satu pernyataan dan karenanya tidak perlu menempatkan pernyataan di dalam begin dan end . Pernyataan ini memberikan nilai 2'b10 ke a ketika blok awal dimulai pada waktu 0 unit.

Apa yang terjadi jika ada elemen delay ?

Kode yang ditunjukkan di bawah ini memiliki pernyataan tambahan yang memberikan beberapa nilai pada sinyal b. Namun ini terjadi hanya setelah 10 unit waktu dari eksekusi pernyataan sebelumnya. Ini berarti bahwa a ditetapkan terlebih dahulu dengan nilai yang diberikan dan kemudian setelah 10 unit waktu, b ditetapkan ke 0.

verilog-initial-block-begin-end

Berapa banyak blok awal yang diperbolehkan dalam sebuah modul ?

Tidak ada batasan jumlah initial blok yang dapat didefinisikan di dalam modul.

Kode yang ditunjukkan di bawah ini memiliki tiga initial blok yang semuanya dimulai pada saat yang sama dan dijalankan secara paralel. Namun, tergantung pada pernyataan dan penundaan dalam setiap blok awal, waktu yang dibutuhkan untuk menyelesaikan blok dapat bervariasi.

verilog-multiple-initial-blocks

Pada contoh ini, blok pertama memiliki delay 20 unit, sedangkan blok kedua memiliki total delay 50 unit (10 + 40) dan blok terakhir memiliki delay 60 unit. Oleh karena itu simulasi membutuhkan 60 unit waktu untuk diselesaikan karena setidaknya ada satu blok awal yang masih berjalan hingga 60 unit waktu.

$finish adalah tugas sistem Verilog yang memberitahu simulator untuk menghentikan simulasi saat ini.

Jika blok terakhir memiliki penundaan 30 unit waktu seperti yang ditunjukkan di bawah ini, simulasi akan berakhir pada 30 unit waktu sehingga membunuh semua initial lainnya blok yang aktif pada saat itu.

  
  
	initial begin
		#30 $finish;
	end

  

Lihat contoh flash yang ditunjukkan di bawah ini untuk melihat bagaimana initial blok dieksekusi dalam simulasi.

Klik di sini untuk slideshow dengan contoh simulasi !


Verilog

  1. Tutorial Verilog
  2. Rangkaian Verilog
  3. Verilog - Dalam kulit kacang
  4. Tugas Verilog
  5. Pemblokiran &Non-Pemblokiran Verilog
  6. Fungsi Verilog
  7. Tugas Verilog
  8. Generator Jam Verilog
  9. Fungsi Matematika Verilog
  10. Format Waktu Verilog