Π£ Π½Π°Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ DDF#05 ΠΠ΅ΠΊΡΠΈΡ 5: RTL-Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ 2025 10 24 ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅, Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ Π½Π° ΡΡΡΠ±. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠ· ΡΠΎΡΠΌΡ Π½ΠΈΠΆΠ΅:
ΠΡΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π½Π΅
Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈΡΡ
ΠΠΠΠΠΠ’Π ΠΠΠΠ‘Π¬ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π²Π½ΠΈΠ·Ρ
ΡΡΡΠ°Π½ΠΈΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° ClipSaver.ru
π§© ΠΠ΅ΠΊΡΠΈΡ 5: RTL-Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ π ΠΡΡΡ: ΠΠ°ΡΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² β ΠΎΡ ΠΈΠ΄Π΅ΠΈ Π΄ΠΎ ΠΆΠ΅Π»Π΅Π·Π° ΠΠΎΠ΄ΡΠ»Ρ 3. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ RTL Π ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΠΌΡ ΠΏΠΎΠ³ΡΡΠΆΠ°Π΅ΠΌΡΡ Π² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² β RTL (Register-Transfer Level). Π Π°Π·Π±Π΅ΡΡΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΡ Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΡΠ΅Π΄Π°Ρ ModelSim ΠΈ Vivado Simulator. πΉ Π Π»Π΅ΠΊΡΠΈΠΈ: Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ RTL-ΡΡΠΎΠ²Π΅Π½Ρ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ Π΄Π»Ρ FPGA ΠΈ ASIC ΠΠ°ΠΊ ΡΡΡΠΎΠΈΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ testbenchβΠ΅ΠΉ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ Π² ModelSim / Vivado ΠΠ½Π°Π»ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ (waveform) ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ assert π§ Π§ΡΠΎ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅: ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΠ½ΡΠ΅Π·ΠΈΡΡΠ΅ΠΌΡΠΉ HDL-ΠΊΠΎΠ΄ (VHDL / Verilog) ΠΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ (ΠΏΠΎΡΡ-ΠΌΠ°ΠΏΠΏΠΈΠ½Π³) ΠΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎ ΡΠΈΠ½ΡΠ΅Π·Π° ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ waveform-Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡ Π΅ΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ π§° ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ: ModelSim β ΡΠΈΠΌΡΠ»ΡΡΠΈΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ° RTL-Π΄ΠΈΠ·Π°ΠΉΠ½Π° Vivado Simulator β ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ HDL-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ Waveform Viewer β Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ Π°Π½Π°Π»ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ π‘ ΠΠΎΡΠ»Π΅ Π»Π΅ΠΊΡΠΈΠΈ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅: Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ RTL-Π±Π»ΠΎΠΊΠΈ Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΡΡΠ΅Π½Π΄Ρ Π΄Π»Ρ ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π»Π΅ ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊ ΡΠΈΠ½ΡΠ΅Π·Ρ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² FPGA π ΠΡΠ° Π»Π΅ΠΊΡΠΈΡ β ΠΌΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π½Π° ΠΆΠ΅Π»Π΅Π·Π΅. ΠΡΠ²ΠΎΠΈΠ² RTL ΠΈ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ, Π²Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ Π΄ΡΠΌΠ°ΡΡ ΠΊΠ°ΠΊ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΈΡΡΠΎΠ²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²! π¨ ΠΡΠΎΠΌΠΏΡ Π΄Π»Ρ ΠΎΠ±Π»ΠΎΠΆΠΊΠΈ YouTube-Π²ΠΈΠ΄Π΅ΠΎ ΠΡΠΎΠΌΠΏΡ: Π‘ΠΎΠ·Π΄Π°ΠΉ ΠΎΠ±Π»ΠΎΠΆΠΊΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎ-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅ Π΄Π»Ρ YouTube-Π²ΠΈΠ΄Π΅ΠΎ. Π’Π΅ΠΊΡΡ Π½Π° ΠΎΠ±Π»ΠΎΠΆΠΊΠ΅: π§© ΠΠ΅ΠΊΡΠΈΡ 5: RTL-Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΡΠΈΠΌΡΠ»ΡΡΠΈΡ βοΈ ModelSim / Vivado / Testbench Π€ΠΎΠ½ ΠΈ Π°ΡΠΌΠΎΡΡΠ΅ΡΠ°: Π’ΡΠΌΠ½ΠΎ-ΡΠΈΠ½ΠΈΠΉ ΠΈΠ»ΠΈ Π³ΡΠ°ΡΠΈΡΠΎΠ²ΡΠΉ ΡΠΎΠ½ Ρ Π»ΡΠ³ΠΊΠΈΠΌ ΡΠΈΡΡΠΎΠ²ΡΠΌ ΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π‘Ρ Π΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ FPGA ΠΈΠ»ΠΈ ΠΊΡΠΈΡΡΠ°Π»Π»Π° ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ Π΄ΠΎΡΠΎΠΆΠ΅ΠΊ ΠΠ° ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΌ ΠΏΠ»Π°Π½Π΅ β ΡΡΠ°Π³ΠΌΠ΅Π½Ρ HDL-ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, process(clk), if rising_edge(clk) ΠΈ Q ΠΌΠ΅Π½ΡΡΠ΅ = D;) Π ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ β ΠΎΠΊΠ½ΠΎ waveform Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠΎΠΉ (Clock, Reset, Output) ΠΡΠ³ΠΊΠΎΠ΅ Π½Π΅ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² (Π³ΠΎΠ»ΡΠ±ΠΎΠΉ, Π±ΠΈΡΡΠ·ΠΎΠ²ΡΠΉ, ΡΠΈΠΎΠ»Π΅ΡΠΎΠ²ΡΠΉ Π°ΠΊΡΠ΅Π½ΡΡ) Π‘ΡΠΈΠ»Ρ: Π§ΡΡΠΊΠΈΠΉ, ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΡΠΉ, Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΠ·ΠΌΠ° ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ