ما هي Verilog
جزء من قسم الأساسيات في رحلة Verilog على Coddy. الدرس 1 من 90.
إن لغة Verilog هي لغة لوصف العتاد (HDL) تُستخدم لنمذجة الدوائر الإلكترونية الرقمية وتصميمها ومحاكاتها، بدءًا من البوابات المنطقية البسيطة وصولًا إلى المعالجات المعقدة.
على عكس لغات البرمجيات التي تعمل بالتسلسل على وحدة معالجة مركزية، تصف Verilog أجهزةً تعمل بالتوازي. وهي المعيار المتّبع في هذا المجال لتصميم FPGA وASIC، وتُستخدم في أدوات مثل ModelSim وVivado وQuartus.
في هذه الدورة، ستتعلّم Verilog من الأساسيات، بدءًا من مخرجات المحاكاة الأساسية، ثم بناء الدوائر التوافقية والتتابعية، وصولًا في النهاية إلى تصميم وحدات حقيقية مثل العدادات، وسجلات الإزاحة، وواجهات UART.
التحدي
سهلمرحبًا بك في برنامج Verilog الأول لك! الكود مكتوب مسبقًا من أجلك.
ما يجب فعله:
- انظر إلى الكود. يستخدم
$displayلطباعة النص، بشكل مشابه لـprintfفي C - انقر على تشغيل الكود لترجمته ومحاكاته
- يجب أن ترى
Hello World!في الناتج
ملاحظة: يعمل كل برنامج Verilog داخل module. تُنفَّذ كتلة initial مرة واحدة عند بدء المحاكاة، وينهيها $finish.
جرّب بنفسك
module main;
initial begin
$display("Hello World!");
$finish;
end
endmoduleجميع دروس الأساسيات
4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine Logicتدرّب بنفسك: مترجم Verilog عبر الإنترنت