8-900-374-94-44
[email protected]
Slide Image
МСню

Π―Π·Ρ‹ΠΊ verilog – Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² язык Verilog. — Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ элСктроника

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π―Π·Ρ‹ΠΊ описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Verilog HDL

Verilog HDL (Hardware Description Language) — это язык тСкстового описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для проСктирования, модСлирования, Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… микросхСм (смотри Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡŽ), ΠΏΠ»Π°Ρ‚ ΠΈ систСм.

Π―Π·Ρ‹ΠΊ Verilog Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1984-1985 Π³ΠΎΠ΄Ρƒ Π€ΠΈΠ»ΠΎΠΌ ΠœΠΎΡ€Π±ΠΈ (Phil Moorby) Π²ΠΎ врСмя Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Gateway Design Automation. Π’ΠΎΠ³Π΄Π° ΠΆΠ΅ появился ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π’Π΅Ρ€ΠΈΠ»ΠΎΠ³ симулятор: Verilog-XL. ПозТС компанию Gateway ΠΊΡƒΠΏΠΈΠ»Π° Cadence Design Systems ΠΈ Π² 1990-ΠΌ сдСлала Verilog HDL ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ достояниСм. Π’ 1995-ΠΌ Π³ΠΎΠ΄Ρƒ я Π·Ρ‹ΠΊ стал стандартом IEEE-1364-1995,Β IEEE Standard Hardware Description Language Based on the Verilog(R) Hardware Description Language.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ:

ПозднСС появилась «Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ» вСрсия языка — это SystemVerilog, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Accellera (www.accellera.org). Π’ SystemVerilog ΡƒΠΏΠΎΡ€ сдСлан Π½Π° Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², язык содСрТит элСмСнты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования.

Π―Π·Ρ‹ΠΊ Verilog HDL — это Π½Π΅ VHDL. VHDL — это совсСм Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык, хотя ΠΈ слуТит Ρ‚Π΅ΠΌ ΠΆΠ΅ цСлям — описаниС, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, синтСз Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

На нашСм сайтС ΠΌΡ‹ удСляСм довольно ΠΌΠ½ΠΎΠ³ΠΎ внимания языку Verilog HDL — ΠΎΠ½ довольно прост Π² освоСнии, позволяСт довольно быстро ΠΏΠΎΠ½ΡΡ‚ΡŒ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… микросхСм.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ тСкстовоС описаниС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹! НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ графичСскоС ΠΈ схСмноС описаниС! Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ тСкстовоС описаниС ΠΈΠΌΠ΅Π΅Ρ‚ прСимущСство.Β 

Π§Ρ‚ΠΎΠ±Ρ‹ Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ быстрСС ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ язык VerilogΒ ΠΌΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ нСсколько ΡƒΡ€ΠΎΠΊΠΎΠ²:

  • Π§Π°ΡΡ‚ΡŒ 1. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ источников сигнала Π² языкС Verilog HDL — это wire, reg, ΡˆΠΈΠ½Ρ‹. Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ (module / endmodule). Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ сигналы ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (input, output, inout).
  • Π§Π°ΡΡ‚ΡŒ 2. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ AND, NAND, OR, NOR, XOR, XNOR, NOT. Установка экзСмпляров ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ соСдинСниС ΠΈΡ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌΠΈ. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² языкС описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Verilog HDL.
  • Π§Π°ΡΡ‚ΡŒ 3. АрифмСтичСскиС ΠΈ логичСскиС дСйствия Π² языкС Verilog. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ слоТСния ΠΈ вычитания (+ , -) , логичСский ΠΈ арифмСтичСский сдвиг ( << , >> , >>> ), Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ( & , | , ^, ~ ), Π±ΡƒΠ»Π΅Π²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ( && , || , ! ), ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ, условного Π²Ρ‹Π±ΠΎΡ€Π° ( ? ) ΠΈ сравнСния.
  • Π§Π°ΡΡ‚ΡŒ 4. ΠŸΠΎΠ²Π΅Π΄Π΅Π½Ρ‡Π΅ΡΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ always, if-else, case-endcase, Ρ†ΠΈΠΊΠ»Ρ‹ for(…).
  • Π§Π°ΡΡ‚ΡŒ 5. Бинхронная Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° Π² Verilog HDL. Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ присваиваниС.

Π•Ρ‰Π΅, всС нашС ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ сразу Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ PDF Ρ„Π°ΠΉΠ»Π°:

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π΅ΠΌΠ°, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ связанная с Verilog — это симуляция ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². ΠœΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ симуляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² простоС ΠΈ эффСктивноС срСдство Icarus Verilog + GtkWaveΒ — это компилятор, симулятор ΠΈ срСдство просмотра Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.Β 

ΠœΡ‹ рассказываСм, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти инструмСнты.

Π‘Ρ‚Π°Ρ‚ΡŒΡ Verilog System TasksΒ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Verilog симулятор, ΠΊΠ°ΠΊ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ диагностичСскиС сообщСния ΠΈ ΠΊΠ°ΠΊ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ». Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Verilog VPI позволяСт ΡΠ²ΡΠ·Π°Ρ‚ΡŒ симулятор Verilog ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C/C++.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ программирования Π½Π° языкС Verilog ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки описаны Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Verilog Gothcas.

Π§Ρ‚ΠΎΠ±Ρ‹ читатСлям Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ язык программирования Verilog ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ схСмы ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ ряд статСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ соотвСтствиС языковой конструкции ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ графичСского прСдставлСния схСмы.

ΠœΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ этот Ρ€Π°Π·Π΄Π΅Π» сайта «Verilog Π² ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°Ρ…»:

marsohod.org

Π―Π·Ρ‹ΠΊ описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Verilog HDL

Verilog HDL (Hardware Description Language) — это язык тСкстового описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для проСктирования, модСлирования, Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… микросхСм (смотри Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡŽ), ΠΏΠ»Π°Ρ‚ ΠΈ систСм.

Π―Π·Ρ‹ΠΊ Verilog Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1984-1985 Π³ΠΎΠ΄Ρƒ Π€ΠΈΠ»ΠΎΠΌ ΠœΠΎΡ€Π±ΠΈ (Phil Moorby) Π²ΠΎ врСмя Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Gateway Design Automation. Π’ΠΎΠ³Π΄Π° ΠΆΠ΅ появился ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π’Π΅Ρ€ΠΈΠ»ΠΎΠ³ симулятор: Verilog-XL. ПозТС компанию Gateway ΠΊΡƒΠΏΠΈΠ»Π° Cadence Design Systems ΠΈ Π² 1990-ΠΌ сдСлала Verilog HDL ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ достояниСм. Π’ 1995-ΠΌ Π³ΠΎΠ΄Ρƒ я Π·Ρ‹ΠΊ стал стандартом IEEE-1364-1995,Β IEEE Standard Hardware Description Language Based on the Verilog(R) Hardware Description Language.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ:

ПозднСС появилась «Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ» вСрсия языка — это SystemVerilog, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Accellera (www.accellera.org). Π’ SystemVerilog ΡƒΠΏΠΎΡ€ сдСлан Π½Π° Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², язык содСрТит элСмСнты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования.

Π―Π·Ρ‹ΠΊ Verilog HDL — это Π½Π΅ VHDL. VHDL — это совсСм Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык, хотя ΠΈ слуТит Ρ‚Π΅ΠΌ ΠΆΠ΅ цСлям — описаниС, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, синтСз Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

На нашСм сайтС ΠΌΡ‹ удСляСм довольно ΠΌΠ½ΠΎΠ³ΠΎ внимания языку Verilog HDL — ΠΎΠ½ довольно прост Π² освоСнии, позволяСт довольно быстро ΠΏΠΎΠ½ΡΡ‚ΡŒ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… микросхСм.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ тСкстовоС описаниС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹! НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ графичСскоС ΠΈ схСмноС описаниС! Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ тСкстовоС описаниС ΠΈΠΌΠ΅Π΅Ρ‚ прСимущСство.Β 

Π§Ρ‚ΠΎΠ±Ρ‹ Π’Ρ‹ ΠΌΠΎΠ³Π»ΠΈ быстрСС ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ язык VerilogΒ ΠΌΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ нСсколько ΡƒΡ€ΠΎΠΊΠΎΠ²:

  • Π§Π°ΡΡ‚ΡŒ 1. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ источников сигнала Π² языкС Verilog HDL — это wire, reg, ΡˆΠΈΠ½Ρ‹. Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ (module / endmodule). Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ сигналы ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (input, output, inout).
  • Π§Π°ΡΡ‚ΡŒ 2. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ AND, NAND, OR, NOR, XOR, XNOR, NOT. Установка экзСмпляров ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ соСдинСниС ΠΈΡ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌΠΈ. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² языкС описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Verilog HDL.
  • Π§Π°ΡΡ‚ΡŒ 3. АрифмСтичСскиС ΠΈ логичСскиС дСйствия Π² языкС Verilog. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ слоТСния ΠΈ вычитания (+ , -) , логичСский ΠΈ арифмСтичСский сдвиг ( << , >> , >>> ), Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ( & , | , ^, ~ ), Π±ΡƒΠ»Π΅Π²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ( && , || , ! ), ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ, условного Π²Ρ‹Π±ΠΎΡ€Π° ( ? ) ΠΈ сравнСния.
  • Π§Π°ΡΡ‚ΡŒ 4. ΠŸΠΎΠ²Π΅Π΄Π΅Π½Ρ‡Π΅ΡΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ always, if-else, case-endcase, Ρ†ΠΈΠΊΠ»Ρ‹ for(…).
  • Π§Π°ΡΡ‚ΡŒ 5. Бинхронная Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° Π² Verilog HDL. Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ присваиваниС.

Π•Ρ‰Π΅, всС нашС ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ сразу Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ PDF Ρ„Π°ΠΉΠ»Π°:

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π΅ΠΌΠ°, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ связанная с Verilog — это симуляция ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². ΠœΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ симуляции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² простоС ΠΈ эффСктивноС срСдство Icarus Verilog + GtkWaveΒ — это компилятор, симулятор ΠΈ срСдство просмотра Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.Β 

ΠœΡ‹ рассказываСм, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти инструмСнты.

Π‘Ρ‚Π°Ρ‚ΡŒΡ Verilog System TasksΒ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Verilog симулятор, ΠΊΠ°ΠΊ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ диагностичСскиС сообщСния ΠΈ ΠΊΠ°ΠΊ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ». Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Verilog VPI позволяСт ΡΠ²ΡΠ·Π°Ρ‚ΡŒ симулятор Verilog ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C/C++.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ программирования Π½Π° языкС Verilog ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки описаны Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Verilog Gothcas.

Π§Ρ‚ΠΎΠ±Ρ‹ читатСлям Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ язык программирования Verilog ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ схСмы ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ ряд статСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ соотвСтствиС языковой конструкции ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ графичСского прСдставлСния схСмы.

ΠœΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ этот Ρ€Π°Π·Π΄Π΅Π» сайта «Verilog Π² ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°Ρ…»:

marsohod.org

Π―Π·Ρ‹ΠΊ Verilog

Π“Π»Π°Π²Π° 1. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ знакомство с языком Verilog
1.1. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ языка Verilog
1.2. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° языкС Verilog
1.2.1. ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
1.2.2. ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
1.3. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ элСмСнты языка Verilog
1.3.1. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова
1.3.2. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹
1.3.3. Π‘Π΅Π»Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ
1.3.4. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ
1.4. Π‘ΠΈΠ³Π½Π°Π»Ρ‹, сСти, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹
1.4.1. ЛогичСскиС значСния
1.4.2. ЛогичСская ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ (сила) сигналов
1.5. Числа
1.5.1. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»Ρ‹Ρ… чисСл
1.5.2. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл
1.6. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ языка Verilog

Π“Π»Π°Π²Π° 2. ΠœΠΎΠ΄ΡƒΠ»ΠΈ
2.1. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
2.2. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
2.3. ОбъявлСния ΠΏΠΎΡ€Ρ‚ΠΎΠ²
2.4. ЭкзСмпляры ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
2.5. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
2.6. НСявная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
2.7. ΠœΠ°ΡΡΠΈΠ²Ρ‹ экзСмпляров ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
2.8. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ иСрархия ΠΈΠΌΠ΅Π½
2.9. ΠžΠ±Π»Π°ΡΡ‚ΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΈ области дСйствия ΠΈΠΌΠ΅Π½

Π“Π»Π°Π²Π° 3. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ
3.1. Π“Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅
3.2. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ языка Verilog
3.3. ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹, опрСдСляСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π“Π»Π°Π²Π° 4. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…
4.1. Π”Π²Π° класса Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…
4.2. Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…
4.3. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сигнала сСти
4.4. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
4.5. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…
4.5.1. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
4.5.2. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
4.5.3. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±Π»ΠΎΠΊΠ° спСцификации
4.5.4. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ
4.5.5. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… событиС
4.5.6. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ
4.6. Π’Ρ‹Π±ΠΎΡ€ Π±ΠΈΡ‚ΠΎΠ² ΠΈ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ
4.7. Π’Ρ‹Π±ΠΎΡ€ элСмСнтов массива ΠΈ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ элСмСнтов массива
4.8. ОбъявлСниС памяти

Π“Π»Π°Π²Π° 5. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
5.1. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ языка Verilog
5.2. ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
5.3. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Π΄ΡƒΠΊΡ†ΠΈΠΈ
5.4. ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
5.5. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ
5.6. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ идСнтичности
5.7. АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
5.8. РазносторонниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
5.9. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ
5.10. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ
5.11. Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π“Π»Π°Π²Π° 6. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ назначСния assign
6.1. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² языкС Verilog
6.2. Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ назначСния
6.3. ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ назначСния

Π“Π»Π°Π²Π° 7. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Π±Π»ΠΎΠΊΠΈ
7.1. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ initial ΠΈ always, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ Π±Π»ΠΎΠΊ
7.2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Π΅ скобки begin-and ΠΈ fork-join
7.3. Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ

7.4. Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ²

Π“Π»Π°Π²Π° 8. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ
8.1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ #
8.2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ @
8.3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ оТидания wait
8.4. Бписок Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ
8.5. Бписок Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… схСмах
8.6. Бписок Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π½Ρ‹Ρ… схСмах

Π“Π»Π°Π²Π° 9. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ назначСния
9.1. ΠžΠ±Ρ‰ΠΈΠ΅ полоТСния
9.2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ назначСния Β«=Β»
9.2.1. Π€ΠΎΡ€ΠΌΠ°Ρ‚
9.2.2. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ
9.2.3. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ
9.2.4. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ синтСза
9.3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ назначСния
9.3.1. Π€ΠΎΡ€ΠΌΠ°Ρ‚
9.3.2. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ
9.3.3. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ
9.3.4. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ синтСза
9.4. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… назначСния Π²ΠΎ врСмя модСлирования
9.5. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ assign ΠΈ deassign
9.6. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ force ΠΈ release

Π“Π»Π°Π²Π° 10. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ программирования


10.1. ΠžΠ±Ρ‰ΠΈΠ΅ полоТСния
10.2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if-else
10.3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ case
10.4. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ casez ΠΈ casex
10.5. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for
10.6. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ while
10.7. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ repeat
10.8. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ forever
10.9. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ disable
10.10. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ программирования
10.11. Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ wait ΠΈ while

Π“Π»Π°Π²Π° 11. Атрибуты
11.1. Атрибуты языка Verilog
11.2. Атрибут fulLcase
11.3. Атрибут paralleLcase

Π“Π»Π°Π²Π° 12. Π‘Π»ΠΎΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ
12.1. Π‘Π»ΠΎΠΊΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ языка Verilog
12.2. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π±Π»ΠΎΠΊΠ° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ
12.3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ
12.3.1. Π“Ρ€ΡƒΠΏΠΏΠ° элСмСнтов Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ
12.3.2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if-else
12.3.3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ case
12.3.4. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ fΠΎΠ³

Π“Π»Π°Π²Π° 13. Π—Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
13.1. Π—Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка Verilog
13.2. АвтоматичСскиС ΠΈ статичСскиС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
13.3. Π—Π°Π΄Π°Ρ‡ΠΈ
13.4. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ
13.5. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

13.6. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π·Π°Π΄Π°Ρ‡

Π“Π»Π°Π²Π° 14. БистСмныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
14.1. БистСмныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка Verilog
14.2. БистСмныС Π·Π°Π΄Π°Ρ‡ΠΈ для отобраТСния тСкста
14.3. БистСмныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ
14.3.1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²
14.3.2. Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ„Π°ΠΉΠ»
14.3.3. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ
14.4. Π”Ρ€ΡƒΠ³ΠΈΠ΅ систСмныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
14.4.1. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ процСссом симуляции
14.4.2. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ симуляции
14.4.3. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½
14.4.4. Π—Π°ΠΏΠΈΡΡŒ ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΈΠ· строки символов
14.4.5. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° содСрТимого памяти
14.4.6. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° Π³Π΅Π°1 Π² 64-Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€
14.4.7. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой

Π“Π»Π°Π²Π° 15. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компилятора
15.1. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компилятора языка Verilog
15.2. Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ ΡƒΠΌΠ°Π»Ρ‡ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ значСниям Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² компилятора
15.3. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ значСния Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

15.4. ΠœΠ°ΠΊΡ€ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ
15.5. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ условной компиляции
15.6. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²
15.7. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡƒΠΌΠ°Π»Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Ρ†Π΅ΠΏΠ΅ΠΉ
15.8. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для нСподсоСдинСнных Π²Ρ…ΠΎΠ΄ΠΎΠ²
15.9. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

Π“Π»Π°Π²Π° 16. Π‘Π»ΠΎΠΊΠΈ спСцификаций
16.1. Π‘Π»ΠΎΠΊΠΈ спСцификаций языка Verilog
16.2. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π±Π»ΠΎΠΊΠΎΠ² спСцификаций
16.3. ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΉ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² (сбоСв)
16.4. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ

Π“Π»Π°Π²Π° 17. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
17.1. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
17.2. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ
17.3. Π€Π°ΠΉΠ»Ρ‹ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ
17.4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
17.4.1. Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ описаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
17.4.2. ИспользованиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ
17.4.3. ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° default
17.4.4. ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° cell
17.4.5. ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° instance
17.4.6. ИспользованиС иСрархичСской ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Π“Π»Π°Π²Π° 18. Π‘ΠΈΠ½Ρ‚Π΅Π·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ конструкции языка Verilog


18.1. ΠžΠ±Ρ‰ΠΈΠ΅ полоТСния
18.2. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ языка Verilog, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ
Quartus II Ρ„ΠΈΡ€ΠΌΡ‹ Altera
Бписок тСхничСской Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹
Бписок сокращСний
ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

www.htbook.ru

Verilog — это… Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Verilog?

Verilog, Verilog HDL (Π°Π½Π³Π».Β Verilog Hardware Description Language)Β β€” это язык описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для описания ΠΈ модСлирования элСктронных систСм. Verilog HDL, Π½Π΅ слСдуСт ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с VHDL (ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ язык), Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²ΠΈΠ΄Π΅ Π‘Π‘Π˜Π‘) Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ…, Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΈ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… элСктронных систСм Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… уровнях абстракции.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Verilog сдСлали Π΅Π³ΠΎ синтаксис ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° синтаксис языка C, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ освоСниС. Verilog ΠΈΠΌΠ΅Π΅Ρ‚ прСпроцСссор, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° прСпроцСссор языка C, ΠΈ основныС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ конструкции Β«ifΒ», Β«whileΒ» Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ ΠΎΠ΄Π½ΠΎΠΈΠΌΡ‘Π½Π½Ρ‹ΠΌ конструкциям языка C. БоглашСния ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ (см. printf).

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ описаниС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, написанноС Π½Π° языкС Verilog (ΠΊΠ°ΠΊ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… HDL-языках) принято Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Π½ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ общСпринятого понятия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ инструкций, здСсь ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π΄Π°Π΅Ρ‚ структуру систСмы. Π’Π°ΠΊ ΠΆΠ΅ для языка Verilog Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹».

ΠžΠ±Π·ΠΎΡ€

БущСствуСт подмноТСство инструкций языка Verilog, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ синтСзируСмым. ΠœΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ написаны Π½Π° этом подмноТСствС, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ RTL (Π°Π½Π³Π».Β register transfer levelΒ β€” Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ рСгистровых ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡). Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ физичСски Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ с использованиСм БАПР синтСза. Π”Π°Π½Π½Ρ‹Π΅ БАПР ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ абстрактный исходный ΠΊΠΎΠ΄ Π½Π° Verilog Π² netlistΒ β€” логичСски эквивалСнтноС описаниС, состоящСС ΠΈΠ· элСмСнтарных логичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, AND, OR, NOT, Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ производства Π‘Π‘Π˜Π‘ ΠΈΠ»ΠΈ программирования Π‘ΠœΠš ΠΈ ΠŸΠ›Π˜Π‘. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° netlist Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Ρ„ΠΎΡ‚ΠΎΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для Π»ΠΈΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ для FPGA.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅

Verilog Π±Ρ‹Π» создан Phil Moorby ΠΈ Prabhu Goel Π·ΠΈΠΌΠΎΠΉ 1983β€”1984 Π³ΠΎΠ΄ΠΎΠ² Π² Ρ„ΠΈΡ€ΠΌΠ΅ Automated Integrated Design Systems (с 1985 Π³ΠΎΠ΄Π° Gateway Design Automation) ΠΊΠ°ΠΊ язык модСлирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. Π’ 1990 Π³ΠΎΠ΄Ρƒ Gateway Design Automation Π±Ρ‹Π»Π° ΠΊΡƒΠΏΠ»Π΅Π½Π° Cadence Design Systems. Компания Cadence ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° Π½Π° логичСскиС симуляторы Gateway’s Verilog ΠΈ Verilog-XL simulator.

Verilog-95

Π’ΠΎ врСмя ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉΡΡ популярности языка VHDL, Cadence приняла Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ стандартизации языка. Cadence ΠΏΠ΅Ρ€Π΅Π΄Π°Π»Π° Verilog Π² общСствСнноС достояниС. Verilog Π±Ρ‹Π» послан Π² IEEE ΠΈ принят ΠΊΠ°ΠΊ стандарт IEEE 1364β€”1995 (часто Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Verilog-95).

Verilog 2001

ДополнСния ΠΊ языку Verilog-95 Π±Ρ‹Π»ΠΈ приняты ΠΊΠ°ΠΊ IEEE 1364β€”2001 (ΠΈΠ»ΠΈ Verilog-2001).

Verilog-2001 являСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Verilog-95. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°). ΠŸΡ€Π΅ΠΆΠ΄Π΅ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с использованиСм большого количСства Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’Π° ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° Verilog-2001 описываСтся встроСнными ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ языка:

+, , /, *, >>> Π‘Ρ‹Π» ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄. Для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ читаСмости ΠΊΠΎΠ΄ΠΎΠ² Π±Ρ‹Π» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ синтаксис, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ always @*, ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², объявлСниС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² стилС Π‘ΠΈ.

Verilog-2001 являСтся самым часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΎΠΌ языка ΠΈ поддСрТиваСтся Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ коммСрчСских БАПР для элСктроники (см. EDA).

Verilog 2005

Verilog 2005 (стандарт IEEE 1364β€”2005) Π΄ΠΎΠ±Π°Π²ΠΈΠ» нСбольшиС исправлСния, уточнСния спСцификаций ΠΈ нСсколько Π½ΠΎΠ²Ρ‹Ρ… синтаксичСских конструкций, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово uwire.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡ‚ стандарта Ρ‡Π°ΡΡ‚ΡŒ, Verilog-AMS, позволяСт ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ устройства.

SystemVerilog

Основная ΡΡ‚Π°Ρ‚ΡŒΡ: SystemVerilog

SystemVerilog являСтся надмноТСством Verilog-2005, с ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ возмоТностями для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ модСлирования Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Hello, world! (Π½Π΅ являСтся синтСзируСмой)

module main;
  initial 
    begin
      $display("Hello world!");
      $finish;
    end
endmodule

Π”Π²Π° простых ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ соСдинённых Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°:

module toplevel(clock,reset);
 input clock;
 input reset;
 
 reg flop1;
 reg flop2;
 
 always @ (posedge reset or posedge clock)
 if (reset)
   begin
     flop1 <= 0;
     flop2 <= 1;
   end
 else
   begin
     flop1 <= flop2;
     flop2 <= flop1;
   end
endmodule

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚

IEEE Std 1364β€”2001Β β€” стандарт Π½Π° Verilog 2001

  • IEEE P1364Β β€” рабочая Π³Ρ€ΡƒΠΏΠΏΠ° 1364Β β€” Π±Ρ‹Π²ΡˆΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Verilog.
  • IEEE P1800Β β€” рабочая Π³Ρ€ΡƒΠΏΠΏΠ° 1800Β β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ SystemVerilog ΠΈ ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ 1364.

Π‘ΠΈΠ½Ρ‚Π΅Π·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ конструкции

Initial ΠΈ Always

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ВипБимволаВыполняСмая опСрация
ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅~Π˜Π½Π²Π΅Ρ€ΡΠΈΡ
&ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ AND
|ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ OR
^ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ XOR
~^ ΠΈΠ»ΠΈ ^~ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ XNOR
ЛогичСскиС !NOT
&&AND
||OR
РСдукция&Π Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ AND
~&Π Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ NAND
|Π Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ OR
~|Π Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ NOR
^Π Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ XOR
~^ ΠΈΠ»ΠΈ ^~Π Π΅Π΄ΡƒΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ XNOR
АрифмСтичСскиС+Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅
2’s complement
*Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅
/Π”Π΅Π»Π΅Π½ΠΈΠ΅
**ЭкспонСнта (*Verilog-2001)
ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅>Π‘ΠΎΠ»ΡŒΡˆΠ΅
<МСньшС
>=Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π»ΠΈΠ±ΠΎ Ρ€Π°Π²Π½ΠΎ
<=МСньшС Π»ΠΈΠ±ΠΎ Ρ€Π°Π²Π½ΠΎ
==ЛогичСскоС равСнство
Β !=ЛогичСскоС Π½Π΅Ρ€Π°Π²Π½ΠΎ
===4-state логичСскоС равСнство
Β !==4-state логичСскоС Π½Π΅Ρ€Π°Π²Π½ΠΎ
Π‘Π΄Π²ΠΈΠ³>>ЛогичСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎ
<<ЛогичСский сдвиг Π²Π»Π΅Π²ΠΎ
>>>АрифмСтичСский сдвиг Π²ΠΏΡ€Π°Π²ΠΎ (*Verilog-2001)
<<<АрифмСтичСский сдвиг Π²Π»Π΅Π²ΠΎ (*Verilog-2001)
Π‘Ρ†Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅{ , }Π‘Ρ†Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅
ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅{n{m}}ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ m Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n Ρ€Π°Π·
УсловиС ? :УсловиС

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π΅ Verilog

На языкС Verilog созданы описания ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… микропроцСссоров OpenSPARC T1, T2, S1 Core ΠΈ OpenRISC. Π˜Ρ… исходный ΠΊΠΎΠ΄ доступСн ΠΏΠΎΠ΄ лицСнзиями LGPL ΠΈ GPL.

Бписок ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Verilog

  • Icarus Verilog β€” open source прилоТСния для модСлирования ΠΈ синтСза. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ Linux, Windows, Mac OS X, FreeBSD ΠΈ Π΄Ρ€. страница ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
  • VCS срСда модСлирования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ; Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ Unix, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ΄ Windows.
  • LogicSim срСда модСлирования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ Windows.
  • Incisive HDL срСда модСлирования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ; Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ Unix, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ΄ Windows.
  • ModelSim срСда модСлирования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ; Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ Unix, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ΄ Windows.
  • Veritak Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ компилятор/симулятор, транслятор с VHDL Π² Verilog, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows.
  • Verilator open-source Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ компилятор Verilog.
  • Verilog-Perl Π½Π°Π±ΠΎΡ€ Perl-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для ΠΏΡ€Π΅Π΄ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ построСния Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов.
  • vmodel open-source срСдство для модСлирования Verilog Π² MATLAB, основанноС Π½Π° Verilator.
  • Verilog for DMS is a general toolset for implementing arbitrary analyses and transformations on Verilog.
  • VSPCompiler инструмСнт для компилирования синтСзируСмого RTL-описания Π² C/C++/SystemC Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ.
  • VTOC инструмСнт для компилирования синтСзируСмого RTL-описания Π² C++/SystemC Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ.
  • Wave VCD Viewer ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для просмотра VCD-Ρ„Π°ΠΉΠ»ΠΎΠ². Verilog-симулятор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ VCD-Ρ„Π°ΠΉΠ», содСрТащий Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ модСлирования. Wave VCD Viewer позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ модСлирования Π² Π²ΠΈΠ΄Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows.
  • GTKWave open-source ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для просмотра Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, которая срСди ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ позволяСт ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ VCD-Ρ„Π°ΠΉΠ»Ρ‹.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Π‘Ρ…ΠΎΠΆΠΈΠ΅ языки

Бсылки

biograf.academic.ru

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ языков описания Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Verilog ΠΈ VHDL | PARALLEL.RU

Π’Π²ΠΎΠ΄Π½Ρ‹Π΅ замСчания

Π―Π·Ρ‹ΠΊΠΈ VHDL ΠΈ Verilog (Verilog HDL) относятся, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ языка Argus, ΠΊ языкам описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈΡ… нСльзя Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ с Argus — ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Π½Π΅ для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для FPGA ΠΈ Π΄Ρ€. Π‘Π‘Π˜Π‘, Π° для проСктирования Π»ΠΎΠ³ΠΈΠΊΠΈ самих этих устройств. Π­Ρ‚ΠΈ языки ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для модСлирования элСктронных схСм Π½Π° уровнях Π²Π΅Π½Ρ‚ΠΈΠ»ΡŒΠ½ΠΎΠΌ, рСгистровых ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡, корпусов микросхСм. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ эти языки ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ языками сквозного Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ-логичСского проСктирования.

VHDL (Very high speed integrated circuits Hardware Description Language) Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² 1983 Π³. ΠΏΠΎ Π·Π°ΠΊΠ°Π·Ρƒ ΠŸΠ΅Π½Ρ‚Π°Π³ΠΎΠ½Π° с Ρ†Π΅Π»ΡŒΡŽ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ описания логичСских схСм для всСх этапов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ элСктронных систСм. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ стандарт Π±Ρ‹Π» ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Ρ‘Π½ Π² 1987 Π³., послСдний ΠΈΠ· извСстных — Π² 2002 Π³.

Verilog HDL Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Ρ„ΠΈΡ€ΠΌΠΎΠΉ Gateway Design Automaton ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ язык симуляции. Cadence ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»Π° Gateway Π² 1989 Π³. ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π° Verilog для общСствСнного использования. Π’ 1995 Π³. Π±Ρ‹Π» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ стандарт языка — Verilog LRM (Language Reference Manual), IEEE1364-1995, Π° послСдний ΠΈΠ· извСстных — Π² 2001 Π³.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ VHDL прСдназначался для модСлирования (Ρ‡Ρ‚ΠΎ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ Π΅Π³ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ), Π½ΠΎ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ ΠΈΠ· Π½Π΅Π³ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ синтСзируСмоС подмноТСство. НаписаниС алгоритмичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° синтСзируСмом подмноТСствС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ автоматичСский синтСз ΠΏΠΎ этой ΠΌΠΎΠ΄Π΅Π»ΠΈ алгоритмичСской схСмы. Аналогичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сущСствуСт ΠΈ для Verilog.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ языков VHDL ΠΈ Verilog

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ Π±ΠΎΠ»Π΅Π΅ простом языкС Verilog ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС простыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… — Ρ†Π΅Π»Ρ‹Π΅ (32-Π±ΠΈΡ‚ со Π·Π½Π°ΠΊΠΎΠΌ), Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ (с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой), Π° Ρ‚Π°ΠΊΠΆΠ΅ спСцифичСскиС Ρ‚ΠΈΠΏΡ‹ «Π²Ρ€Π΅ΠΌΡ» ΠΈ «ΡΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅». Π’ VHDL ΡˆΠΈΡ€Π΅ Π½Π°Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ этого, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π² Verilog этого Π΄Π΅Π»Π°Ρ‚ΡŒ нСльзя. Надо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ-Ρ‚ΠΎ Π² этих языках ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ элСмСнты памяти, Π° сигналы. Π’ Verilog, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅ΠΏΠ½Ρ‹ΠΌΠΈ ΠΈ рСгистровыми (послСдниС ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒΡΡ Π³Π΄Π΅-Ρ‚ΠΎ).

Π”Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты VHDL ΠΈ Verilog

Π’ VHDL синтаксис позволяСт ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ модСль Π² Ρ€Π°Π·Π½Ρ‹Ρ… стилях (структурноС, ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ΅, повСдСнчСскоС описания), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π² описаниС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ языков программирования высокого уровня (Π‘ΠΈ, Паскаль). Π­Ρ‚ΠΈΠΌ ΠΈ достигаСтся Π΅Π³ΠΎ большая ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для описания Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм. НапримСр, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Ρ… физичСских систСм Ρƒ Π½Π΅Π³ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² Π²ΠΈΠ΄Π΅ Ρ‚ΠΈΠΏΠΎΠ² с физичСскими размСрностями.

Verilog Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ описания ΠΌΠΎΠ΄Π΅Π»ΠΈ систСмы, Π½ΠΎ интСрфСйса с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ языками программирования Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

НСсмотря Π½Π° ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ названия, Verilog HDL ΠΈ VHDL — Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ языки. Verilog — достаточно простой язык, сходный с языком программирования Π‘ΠΈ — ΠΊΠ°ΠΊ ΠΏΠΎ синтаксису, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ «ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ». МалоС количСство слуТСбных слов ΠΈ простота основных конструкций ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Verilog Π² цСлях обучСния. Но Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя это эффСктивный ΠΈ спСциализированный язык. VHDL ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большСй ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для описания ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… элСктронных схСм, Π½ΠΎ ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. Однако ΠΈΠ·-Π·Π° своих Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… возмоТностСй VHDL ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π² эффСктивности ΠΈ простотС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° описаниС ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ конструкции Π² Verilog потрСбуСтся Π² 3√4 Ρ€Π°Π·Π° мСньшС символов (ASCII), Ρ‡Π΅ΠΌ Π² VHDL.

Оба языка ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² качСствС стандартов большим количСством ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС ΠΈ open source, Π² области БАПР. Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ ΠΈ компиляторы, ΠΈ симуляторы для ΠΎΠ±ΠΎΠΈΡ… языков, Π² Ρ‚ΠΎΠΌ числС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ языка Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ. ИмСнно эти языки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ соврСмСнных срСдств БАПР Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌΠΈ производитСлями FPGA) Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самих Π‘Π‘Π˜Π‘, Π½ΠΎ ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (ядСр), ΠΌΠ΅Π³Π°Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (megafunctions), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ достаточно слоТных Π·Π°Π΄Π°Ρ‡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов.


Β© Лаборатория ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΠ˜Π’Π¦ ΠœΠ“Π£

parallel.ru

verilog — ВикипСдия

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β€” свободной энциклопСдии

ВСкущая вСрсия страницы ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»Π°ΡΡŒ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ участниками ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ вСрсии, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ 19 августа 2015; ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ 17 ΠΏΡ€Π°Π²ΠΎΠΊ. ВСкущая вСрсия страницы ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»Π°ΡΡŒ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ участниками ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ вСрсии, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ 19 августа 2015; ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ 17 ΠΏΡ€Π°Π²ΠΎΠΊ.

Verilog, Verilog HDL (Π°Π½Π³Π».Β Verilog Hardware Description Language)Β β€” это язык описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для описания ΠΈ модСлирования элСктронных систСм. Verilog HDL, Π½Π΅ слСдуСт ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с VHDL (ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ язык), Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²ΠΈΠ΄Π΅ Π‘Π‘Π˜Π‘) Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ…, Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΈ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… элСктронных систСм Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… уровнях абстракции.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Verilog сдСлали Π΅Π³ΠΎ синтаксис ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° синтаксис языка C, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ освоСниС. Verilog ΠΈΠΌΠ΅Π΅Ρ‚ прСпроцСссор, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° прСпроцСссор языка C, ΠΈ основныС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ конструкции Β«ifΒ», Β«whileΒ» Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ ΠΎΠ΄Π½ΠΎΠΈΠΌΡ‘Π½Π½Ρ‹ΠΌ конструкциям языка C. БоглашСния ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ (см. printf).

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ описаниС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, написанноС Π½Π° языкС Verilog (ΠΊΠ°ΠΊ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… HDL-языках) принято Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Π½ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ общСпринятого понятия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ инструкций, здСсь ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π΄Π°Π΅Ρ‚ структуру систСмы. Π’Π°ΠΊΠΆΠ΅ для языка Verilog Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Β«Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β».

ΠžΠ±Π·ΠΎΡ€[ | ]

БущСствуСт подмноТСство инструкций языка Verilog, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ синтСзируСмым. ΠœΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ написаны Π½Π° этом подмноТСствС, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ RTL (Π°Π½Π³Π».Β register transfer levelΒ β€” Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ рСгистровых ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡). Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ физичСски Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ с использованиСм БАПР синтСза. Π”Π°Π½Π½Ρ‹Π΅ БАПР ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ абстрактный исходный ΠΊΠΎΠ΄ Π½Π° Verilog Π² netlistΒ β€” логичСски эквивалСнтноС описаниС, состоящСС ΠΈΠ· элСмСнтарных логичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, AND, OR, NOT, Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ производства Π‘Π‘Π˜Π‘ ΠΈΠ»ΠΈ программирования Π‘ΠœΠš ΠΈ ΠŸΠ›Π˜Π‘. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° netlist Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Ρ„ΠΎΡ‚ΠΎΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для Π»ΠΈΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ для FPGA.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ[ | ]

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅[ | ]

Verilog Π±Ρ‹Π» создан Phil Moorby ΠΈ Prabhu Goel Π·ΠΈΠΌΠΎΠΉ 1983β€”1984 Π³ΠΎΠ΄ΠΎΠ² Π² Ρ„ΠΈΡ€ΠΌΠ΅ Automated Integrated Design Systems (с 1985 Π³ΠΎΠ΄Π° Gateway Design Automation) ΠΊΠ°ΠΊ язык модСлирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. Π’ 1990 Π³ΠΎΠ΄Ρƒ Gateway Design Automation Π±Ρ‹Π»Π° ΠΊΡƒΠΏΠ»Π΅Π½Π° Cadence Design Systems. Компания Cadence ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° Π½Π° логичСскиС симуляторы Gateway’s Verilog ΠΈ Verilog-XL simulator.

Verilog-95[ | ]

Π’ΠΎ врСмя ΡƒΠ²Π΅Π»

encyclopaedia.bid

язык verilog β€” с русского Π½Π° всС языки

  • язык Verilog β€” Π―Π·Ρ‹ΠΊ описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π€ΠΈΠ»ΠΎΠΌ ΠœΠΎΡ€Π±ΠΈ (Phil Morby) Π² ΠΊΠΎΠ½Ρ†Π΅ 1980 Ρ… Π³ΠΎΠ΄ΠΎΠ². ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ элСктронноС устройство ΠΊΠ°ΠΊ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΏΠ»Π°Ρ‚, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ систСмы. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ компания Cadence сдСлала Π΅Π³ΠΎ общСдоступным,… … Β  Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСхничСского ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

  • Verilog β€” Класс языка: Π―Π·Ρ‹ΠΊ описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Появился Π²: 1983 1984 Автор(Ρ‹): Phil Moorby, Prabhu Goel Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²: .v Verilog, Verilog HDL (Π°Π½Π³Π».Β Verilog Hardwar … Β  ВикипСдия

  • Π―Π·Ρ‹ΠΊ описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ β€” (Π°Π½Π³Π».Β hardware description language) Ρ‚ΠΈΠΏ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… языков для Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ описания элСктричСских Ρ†Π΅ΠΏΠ΅ΠΉ, особСнно Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ. Он описываСт структуру ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ†Π΅ΠΏΠΈ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ прСдставитСли НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ языки… … Β  ВикипСдия

  • Π―Π·Ρ‹ΠΊ проСктирования β€” Π―Π·Ρ‹ΠΊ проСктирования  это срСдство Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ проСктирования систСм. НСрСдко для упрощСния понимания ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области языки проСктирования Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ языками программирования, Π½ΠΎ это всСго лишь ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ связанноС со способом написания… … Β  ВикипСдия

  • Verilog-AMS β€” Π‘Ρ‚ΠΈΠ»ΡŒ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ нСэнциклопСдичСн ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΡ‹ русского языка. Π‘Ρ‚Π°Ρ‚ΡŒΡŽ слСдуСт ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ согласно стилистичСским ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ. Verilog AMS ΠΈΠ»ΠΈ Verilog Analog Mixed Signal Simulation (Verilog Аналогово БмСшанноС ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅β€¦ … Β  ВикипСдия

  • ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ язык β€” ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ язык (калька с Π°Π½Π³Π».Β computer language), ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, относится ΠΊ языкам, ассоциируСмым с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ. Π§Π°Ρ‰Π΅ всСго, этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½ соотвСтствуСт ΠΏΠΎΠ½ΡΡ‚ΠΈΡŽ языка программирования, ΠΎΠ΄Π½Π°ΠΊΠΎ это соотвСтствиС Π½Π΅ являСтся… … Β  ВикипСдия

  • Minimig β€” 120Γ—120 ΠΌΠΌ (Ρ„ΠΎΡ€ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ Nano ITX)[1] Minimig (сокращСниС ΠΎΡ‚ Mini Amiga)Β  ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΎΠ±Π΅ … Β  ВикипСдия

  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π¨ΠΈΠ½Π΄Π»Π΅Ρ€Π° β€” ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π¨ΠΈΠ½Π΄Π»Π΅Ρ€Π°(Schindler Transformation) эффСктивный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ упорядочивания элСмСнтов с большой Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΊΠ»ΡŽΡ‡Π°, использованиСм ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ поразрядной сортировки. Бпустя Π³ΠΎΠ΄ послС опубликования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° BWT, ΠœΠΈΡ…Π°ΡΠ»Π΅ΠΌ Π¨ΠΈΠ½Π΄Π»Π΅Ρ€ΠΎΠΌ было… … Β  ВикипСдия

  • SystemC β€” Π’ΠΈΠΏ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Open SystemC Initiative Написана Π½Π° Π‘++ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ ПослСдняя вСрсия 2.3 Π‘Π°ΠΉΡ‚ … Β  ВикипСдия

  • AHDL β€” AHDLΒ  ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹ΠΉ язык описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΎΡ‚ Altera Corporation ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для программированя выпускаСмых Π΅ΠΉ ΠŸΠ›Π˜Π‘. Π―Π·Ρ‹ΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ Ада ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ синтаксис ΠΈ схоТ с VHDL ΠΈΠ»ΠΈ Verilog. Он поддСрТиваСтся компиляторами Quartus ΠΈ Max+ ΠΎΡ‚ Altera … Β  ВикипСдия

  • SPARC β€” ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ UltraSPARC II ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Sun Microsystems SPARC (Scalable Processor ARChitectureΒ  ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° процСссора)Β  Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° RISC ΠΌΠΈ … Β  ВикипСдия

  • translate.academic.ru

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *