เมื่อใดจึงจะใช้การไม่บล็อก

สารบัญ:

เมื่อใดจึงจะใช้การไม่บล็อก
เมื่อใดจึงจะใช้การไม่บล็อก
Anonim

คุณสามารถใช้คำสั่งขั้นตอนที่ไม่ปิดกั้น เมื่อใดก็ตามที่คุณต้องการมอบหมายงานการลงทะเบียนหลายรายการภายในขั้นตอนเวลาเดียวกัน โดยไม่คำนึงถึงลำดับหรือการพึ่งพาซึ่งกันและกัน หมายความว่าคำสั่ง nonblocking คล้ายกับฮาร์ดแวร์จริงมากกว่าการบล็อกการมอบหมาย

ทำไมเราจึงใช้การไม่บล็อกในบล็อก

การบล็อก (=) และการไม่บล็อก (<=) เป็น ที่ให้มาเพื่อควบคุมคำสั่งดำเนินการภายในบล็อกเสมอ การดำเนินการคำสั่ง การมอบหมายที่ไม่บล็อกไม่ได้บล็อกการดำเนินการคำสั่งถัดไปอย่างแท้จริง ด้านขวาของข้อความทั้งหมดถูกกำหนดก่อน จากนั้นให้กำหนดด้านซ้ายร่วมกัน

คุณจะใช้การมอบหมายการบล็อกกับการไม่บล็อกเมื่อทำการเข้ารหัสลอจิกตามลำดับ

Guideline 1: เมื่อสร้างโมเดลลอจิกตามลำดับ ให้ใช้การมอบหมายที่ไม่บล็อก แนวทาง 2: เมื่อสร้างโมเดลแลตช์ ให้ใช้งานการมอบหมายที่ไม่บล็อก มีหลายวิธีในการโค้ดตรรกะเชิงผสมโดยใช้ Verilog แต่เมื่อเข้ารหัสตรรกะเชิงผสมโดยใช้บล็อกเสมอ ควรใช้การกำหนดการบล็อก

การบล็อกและการไม่บล็อกคืออะไร

บล็อกที่มีพฤติกรรมแตกต่างกันเล็กน้อย • การบล็อกการมอบหมาย: การประเมินและการมอบหมายในทันที • การมอบหมายแบบไม่บล็อก: การมอบหมายทั้งหมดเลื่อนออกไปจนกว่าทั้งหมด ด้านขวามือได้รับการประเมินแล้ว (สิ้นสุดการจำลอง

Verilog ที่บล็อกและไม่บล็อกใช้ที่ไหน

นี่เป็นกฎง่ายๆ สำหรับ Verilog: ใน Verilog หากคุณต้องการ เพื่อสร้างตรรกะตามลำดับ ให้ใช้บล็อกการตอกบัตรเสมอด้วยการกำหนด Nonblocking หากคุณต้องการสร้างตรรกะเชิงผสม ให้ใช้ บล็อกเสมอด้วยการบล็อกการมอบหมายพยายามอย่าผสมทั้งสองอย่างในบล็อกเดียวกันเสมอ