ما هو 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 - انقر على Run Code لترجمته ومحاكاته
- يجب أن ترى
Hello World!في المخرجات
ملاحظة: كل برنامج Verilog يعمل داخل module. كتلة initial تعمل مرة واحدة في بداية المحاكاة، و $finish ينهيه.
ورقة مرجعية
Verilog هي لغة وصف الأجهزة (HDL) تصف الأجهزة التي تعمل بالتوازي، وتُستخدم لتصميم FPGA و ASIC.
يعمل كل برنامج Verilog داخل module. تعمل كتلة initial مرة واحدة عند بدء المحاكاة؛ وينهي $finish المحاكاة. استخدم $display لطباعة النص (بشكل مشابه لـ printf في لغة C):
module example;
initial begin
$display("Hello World!");
$finish;
end
endmoduleجرّب بنفسك
module main;
initial begin
$display("Hello World!");
$finish;
end
endmoduleجميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)معاملات المقارنةملخص - رياضيات بسيطةمعاملات Bitwise7التعيين والبوابات المنطقية
التعيين المستمرالتعيين باستخدام العملياتالبوابات الأساسية المدمجةبوابات AND و OR و NOTبوابات XOR و XNORمراجعة - دارة البوابات المنطقية5المعاملات - الجزء الثاني
المعاملات المنطقيةمعاملات الاختزالمعاملات الإزاحةمعامل الدمجالمعامل الشرطيمراجعة - تحدي المعاملات3أنظمة العد
التمثيل الثنائيالأعداد محددة الحجمالأعداد غير محددة الحجمالأعداد السالبةالقيم الخاصة X و Zمراجعة - تنسيقات الأعداد6الوحدات
هيكل الوحدةمنافذ الإدخال والإخراجمنافذ Inoutاستدعاء الوحداتربط المنافذ بالاسمربط المنافذ بالترتيبمراجعة - بناء وحدة