Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

عداد البتات

جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 87 من 90.

challenge icon

التحدي

في هذا الفصل، ستصمّم جهاز إرسال UART خطوة بخطوة. كلمة UART هي اختصار لـ Universal Asynchronous Receiver-Transmitter (المستقبل/المرسل العام غير المتزامن). وهو بروتوكول أجهزة بسيط يتيح لجهازين التواصل باستخدام سلك واحد فقط (للإرسال) وسلك آخر (للاستقبال).

تخيل الأمر كشخصين يتحدثان عبر الهاتف — أحدهما يتحدث (يرسل)، والآخر يستمع (يستقبل). يرسل UART البيانات بت واحد في كل مرة، مع بتات للبدء والتوقف لتحديد بداية ونهاية كل بايت.

يرسل جهاز إرسال UART 10 بتات: بت البدء (1)، بتات البيانات (8)، بت التوقف (1). لتتبع البت الذي نرسله، نحتاج إلى عداد بتات يعد من 0 إلى 10.
كيف يعمل عداد البتات

  • ابدأ من 0
  • في كل دورة ساعة، أضف 1
  • عندما يصل إلى 10، ارجع إلى 0
  • كرر ذلك باستمرار

في هذه المهمة، لن نقوم بإعادة ضبطه بعد: سنكتفي بزيادته فقط.

ما يجب عليك فعله:

  1. أنشئ وحدة باسم uart_tx تحتوي على:
    • إدخال واحد: clk
    • إخراج واحد: cnt (4 bits، من النوع reg)
  2. داخل الوحدة:
    • اضبط cnt على 0 في البداية داخل كتلة initial
    • أضف كتلة always @(posedge clk)
    • اجعل cnt يزداد بمقدار 1 عند كل حافة ساعة

جرّب بنفسك

// TODO: أنشئ الوحدة uart_tx مع المدخل clk والمخرج cnt (4 بت)

// TODO: عيّن cnt إلى 0 في البداية داخل كتلة initial

// TODO: أضف كتلة always @(posedge clk)

// TODO: زد cnt

جميع دروس الأساسيات