Кіріспе
Жабдықты сипаттау тілі Verilog, IEEE 1364 ретінде стандартталған, электрондық жүйелерді модельдеу үшін қолданылатын аппараттық сипаттау тілі (HDL). Ол көбінесе цифрлық тізбектерді жобалау және тексеруде, тіркелгіштік ауысу деңгейінде қолданылады. Ол сондай-ақ аналогтық тізбектерді және аралас сигналды тізбектерді тексеруде, сондай-ақ генетикалық тізбектерді жобалауда қолданылады. 2009 жылы Verilog стандарты (IEEE 1364 2005) SystemVerilog стандартына біріктіріліп, IEEE Standard 1800 2009 стандарты құрылды. Содан бері Verilog ресми түрде SystemVerilog тілінің бөлігіне айналды. Қазіргі нұсқасы IEEE стандарты 1800 2023 болып табылады. Чи Лай Хуан бұрын профессор С. Ю. Х. Су өзінің PhD жұмысы үшін әзірлеген LALSD аппараттық сипаттау тілінде жұмыс істеген. Бұл процестің құқық иегері, сол кездегі жекеменшік құқық, "Автоматтандырылған интеграцияланған жобалау жүйелері" болды (кейіннен 1985 жылы Gateway Design Automation деп қайта аталды). Gateway Design Automation компаниясын Cadence Design Systems компаниясы 1990 жылы сатып алды. Cadence қазір Gateway-дің Verilog және Verilog XL, HDL симуляторына толық жекеменшік құқығы бар, ол келесі он жылда Verilog логикалық симуляторларының де-факто стандарты болды. Бастапқыда Verilog тек сипаттау және симуляциялау үшін арналған; тілдің ішкі жиынтықтарын физикалық құрылымдарға (логикалық элементтер және т.б.) автоматты түрде синтездеу тіл кеңінен қолданыс тапқаннан кейін дамытылды. Verilog – "верификация" және "логика" сөздерінің біріктірілген түрі.
Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems. It is most commonly used in the design and verification of digital circuits at the register transfer level of abstraction. It is also used in the verification of analog circuits and mixed signal circuits, as well as in the design of genetic circuits. In 2009, the Verilog standard (IEEE 1364 2005) was merged into the SystemVerilog standard, creating IEEE Standard 1800 2009. Since then, Verilog has been officially part of the SystemVerilog language. The current version is IEEE standard 1800 2023. Chi Lai Huang had earlier worked on a hardware description LALSD, a language developed by Professor S. Y. H. Su, for his PhD work. The rights holder for this process, at the time proprietary, was "Automated Integrated Design Systems" (later renamed to Gateway Design Automation in 1985). Gateway Design Automation was purchased by Cadence Design Systems in 1990. Cadence now has full proprietary rights to Gateway's Verilog and the Verilog XL, the HDL simulator that would become the de facto standard (of Verilog logic simulators) for the next decade. Originally, Verilog was only intended to describe and allow simulation; the automated synthesis of subsets of the language to physically realizable structures (gates etc.) was developed after the language had achieved widespread usage. Verilog is a portmanteau of the words "verification" and "logic".
Verilog-95
VHDL тілінің сол кездегі артуымен бірге, Cadence осы тілді ашық стандарттауға қолжетімді етуге шешім қабылдады. Cadence Verilog-ты Open Verilog International (OVI) (қазір Accellera деп аталады) ұйымы арқылы жалпыға қолжетімді етуге берді. Кейіннен Verilog IEEE ұйымына ұсынылып, IEEE Standard 1364 1995 стандарты болды, көбінесе Verilog 95 деп аталады. Осы кезеңде Cadence өзінің Spectre аналогтық симуляторы үшін стандартты қолдауды қамтамасыз ету мақсатында Verilog A тілін жасауды бастады. Verilog A дербес тіл ретінде ешқашан дамымады және Verilog 95-ті қамтитын Verilog AMS-тің бір бөлігі болып табылады.
Verilog 2001 жыл
Verilog 95 кеңейтулері пайдаланушылардың бастапқы Verilog стандартында тапқан кемшіліктерді жою үшін IEEE-ге қайта ұсынылды. Бұл кеңейтулер IEEE Standard 1364 2001 болып табылады, ол Verilog 2001 деп белгіленеді. Verilog 2001 – Verilog 95-тен маңызды жаңарту. Біріншіден, ол (2-нің толықтығын) қолтаңбаланған желілер мен айнымалыларды тікелей қолдауға мүмкіндік береді. Бұрын код жазушылар қолтаңбаланған операцияларды орындау үшін қиын бит деңгейіндегі манипуляцияларды қолдануға мәжбүр болған (мысалы, қарапайым 8 биттік қосылымның дұрыс нәтижесін анықтау үшін Буль алгебрасын нақты сипаттау қажет болған). Verilog 2001-дегі дәл сол функцияны кіріктірілген операторлардың бірімен ықшамдап сипаттауға болады: +, -, /, *, >>>. Generate–endgenerate конструкциясы (VHDL-дің generate–endgenerate-іне ұқсас) Verilog 2001-ге инстанциялар мен операторларды стандартты шешім операторлары (case–if–else) арқылы басқаруға мүмкіндік береді. Generate–endgenerate арқылы Verilog 2001 жеке инстанциялардың байланысын бақылап, инстанциялар массивін құра алады. Файл I/O бірнеше жаңа жүйелік тапсырмалар арқылы жақсартылды. Соңында, кодты оқуды жеңілдету үшін бірнеше синтаксистік толықтырулар енгізілді (мысалы, always, @*, атаулы параметрді қайта жазу, C стиліндегі функция/тапсырма/модуль тақырыпшасы). Verilog 2001 – коммерциялық EDA бағдарламалық қамтамасының көпшілігі қолдайтын Verilog нұсқасы.
Verilog 2005 жыл
SystemVerilog-пен шатастырмау керек, Verilog 2005 (IEEE Standard 1364 2005) шағын түзетулерден, ерекшеліктерді анықтаудан және бірнеше жаңа тілдік мүмкіндіктерден (мысалы, uwire кілт сөзі сияқты) тұрады. Verilog стандартының бөлек бөлігі – Verilog AMS, дәстүрлі Verilog-пен аналогтық және аралас сигналдарды модельдеуді интеграциялауға бағытталған.
SystemVerilog жүйелік журналы
OpenVera және Verisity-дің e тілі сияқты аппараттық тексеру тілдерінің пайда болуы Co Design Automation Inc (Synopsys сатып алған) компаниясының Superlog-ті әзірлеуіне түрткі болды. Superlog және Vera негіздері Accellera ұйымына табыс етілді, ол кейін IEEE стандарты P1800 2005: SystemVerilog атанды. SystemVerilog – Verilog 2005-тің кеңейтілген түрі болып табылады, оның құрамында жобаны тексеруге және жобалауды модельдеуге көмектесетін көптеген жаңа мүмкіндіктер мен қабілеттер бар. 2009 жылдан бастап SystemVerilog және Verilog тілдерінің стандарттары SystemVerilog 2009 (IEEE Standard 1800 2009) стандартына біріктірілді.
2009 жылдан бастап жаңартылған
SystemVerilog стандарты кейін 2012, 2017 жылдары және ең соңғы рет 2023 жылдың желтоқсанында жаңартылды.
Төрт мәнді логика
IEEE 1364 стандарты төрт мәнді логиканы, яғни төрт күйді анықтайды: 0, 1, Z (жоғары кедергі) және X (белгісіз логикалық мән). VHDL-дің басты бәсекелесі үшін, тоғыз деңгейлі IEEE 1164 стандарты көп мәнді логикаға арналған жеке стандарт болып табылады.
Бағдарлама тілі интерфейсі (PLI)
PLI бағдарламашыға Verilog-тан C тілінде жазылған бағдарламалық функцияға басқаруды беру механизмін ұсынады. IEEE Std 1364 2005 стандарты PLI-ді жаңа Verilog Procedural Interface (VPI) пайдасына ресми түрде қолданудан шығарды, ол PLI-ді толықтай алмастырады. PLI (қазір VPI) Verilog-ті C тілінде жазылған басқа бағдарламалармен, мысалы, тесттік орталар, микроконтроллердің нұсқаулар жиынтығының симуляторлары, түзету құралдары және т.б. бірлесіп жұмыс істеуге мүмкіндік береді. Мысалы, ол tf_putlongp және tf_getlongp атты C функцияларын ұсынады, олар ағымдағы Verilog тапсырмасының немесе функциясының 64 биттік бүтін аргументін жазу және оқу үшін қолданылады. 32 биттік бүтін сандар үшін tf_putp және tf_getp қолданылады.
Симуляциялық бағдарламалық қамтамасыз ету
Verilog симуляторлары туралы ақпаратты Verilog симуляторларының тізімінен көруге болады.
Стандарттарды әзірлеу
– Verilog 2005 жылғы ресми стандарт (тегін емес). IEEE P1364 – Verilog жұмыс тобы (қазіргі кезде жұмыс істемейді). IEEE P1800 – SystemVerilog жұмыс тобы (жоғарыда аталғандардың орнына келеді). Verilog синтаксисі – Backus-Naur пішіміндегі 1995 жылғы синтаксис сипаттамасы. Бұл IEEE 1364 стандартынан ертерек жазылған.
Тілдік кеңейтулер
Verilog AUTOs – өнеркәсіптік IP қолданатын, Verilog кодын күтіп ұстауды жеңілдетуге арналған ашық бастапқы кодты мета-комментарий.