ما هو Verilog
جزء من قسم الأساسيات في رحلة Verilog على Coddy — الدرس 1 من 90.
تُعد Verilog لغة وصف العتاد (HDL) المُستخدمة لنمذجة الدوائر الإلكترونية الرقمية وتصميمها ومحاكاتها — بدءاً من البوابات المنطقية البسيطة وحتى المعالجات المعقدة.
على عكس لغات البرمجيات التي تعمل بشكل تسلسلي على وحدة المعالجة المركزية (CPU)، تصف لغة Verilog العتاد الذي يعمل بشكل متوازٍ. وهي المعيار الصناعي لتصميم FPGA و ASIC، وتُستخدم في أدوات مثل ModelSim و Vivado و Quartus.
في هذه الدورة، ستتعلم لغة Verilog من الصفر — بدايهً من مخرجات المحاكاة الأساسية، ثم بناء الدوائر التجميعية (combinational) والترتيبية (sequential)، ووصولاً إلى تصميم وحدات حقيقية مثل العدادات (counters)، وسجلات الإزاحة (shift registers)، وواجهات UART.
التحدي
سهلمرحباً بك في برنامجك الأول بلغة Verilog! الكود مكتوب بالفعل من أجلك.
ما يجب عليك فعله:
- ألقِ نظرة على الكود — إنه يستخدم
$displayلطباعة النص، على نحو مشابه لـprintfفي لغة C - انقر على تشغيل الكود لتجميعه ومحاكاته
- يجب أن ترى
Hello World!في المخرجات
ملاحظة: يعمل كل برنامج Verilog داخل module. وتعمل كتلة initial مرة واحدة في بداية المحاكاة، بينما ينهيها $finish.
جرّب بنفسك
module main;
initial begin
$display("Hello World!");
$finish;
end
endmoduleجميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)معاملات المقارنةملخص - رياضيات بسيطةمعاملات Bitwise7التعيين والبوابات المنطقية
التعيين المستمرالتعيين باستخدام العملياتالبوابات الأساسية المدمجةبوابات AND و OR و NOTبوابات XOR و XNORمراجعة - دارة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الدمجالمعامل الشرطيمراجعة - تحدي المعاملات3أنظمة العد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ Inoutاستدعاء الوحداتربط المنافذ بالاسمربط المنافذ بالترتيبمراجعة - بناء وحدة