Hardware Description Language
হার্ডওয়্যার বর্ণনা ভাষা
Hardware-কে কোডে বর্ণনা করার ভাষা — structural (কোন gate, কীভাবে তারে জোড়া) বা behavioral (কী আচরণ চাই) স্টাইলে। Verilog সবচেয়ে প্রচলিত।
also: HDL, hardware description language
Billion-transistor চিপ হাতে schematic এঁকে ডিজাইন করা অসম্ভব — তাই engineer hardware বর্ণনা করেন একটা ভাষায়, gate নিজে তারে না জুড়ে। সেই ভাষার নাম HDL। ইন্ডাস্ট্রি-স্ট্যান্ডার্ড HDL-এর নাম Verilog (১৯৮৪, Gateway Design Automation; ১৯৯৫-এ IEEE 1364), আর তার আধুনিক superset SystemVerilog (IEEE 1800)।
দুইটা লেখনশৈলী:
- Structural — কোন gate, কীভাবে তারে জোড়া, schematic-এর
সরাসরি অনুবাদ (
xor,and,orprimitive instantiate করা)। - Behavioral — শুধু আচরণ বর্ণনা করা (
assign sum = a ^ b ^ cin;), আর একটা synthesis tool ঠিক করে কোন গেট।
wire বনাম reg — সবচেয়ে বড় ভুল বোঝাবুঝি: reg নামটা
শুনতে “register/flip-flop” মনে হয়, কিন্তু আসলে মানে শুধু
“একটা procedural block (always)-এর ভেতরে assign হওয়া
variable”। এটা flip-flop হয় শুধু যদি always @(posedge clk)
(clocked)-এর ভেতরে assign হয়; always @(*) (combinational)-এর
ভেতরে হলে এটা নিছক গেট, কোনো memory না।
দুইটা সম্পূর্ণ ভিন্ন ব্যবহার একই কোডের:
| Simulation | Synthesis | |
|---|---|---|
| কাজ | Logic verify করা, software-এ | Gate-level netlist তৈরি করা |
| টুল | Icarus Verilog, ModelSim | Yosys, Synopsys Design Compiler |
| আউটপুট | Pass/fail, waveform | বাস্তব circuit (FPGA bitstream/ASIC) |
#10, $display | ব্যবহারযোগ্য | অগ্রাহ্য/অবৈধ (simulation-only) |
Open-source টুলচেইন (Yosys + OpenROAD, SkyWater ১৩০ন্যানোমিটার PDK) দিয়ে এখন hobbyist-ও নিজের Verilog থেকে সত্যিকারের সিলিকন চিপ tape-out করাতে পারেন — এক দশক আগেও যা শুধু বড় কোম্পানির আওতায় ছিল।