亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Emacs的verilog-mode介紹

微云疏影 ? 來(lái)源:ExASIC ? 作者:ExASIC ? 2023-01-24 17:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RTL頂層自動(dòng)連線聽(tīng)說(shuō)過(guò)嗎?想學(xué)嗎?我們今天就來(lái)介紹自動(dòng)連線的神器——emacs verilog-mode。

emacs是什么?

江湖流傳版:傳說(shuō)中神的編輯器。

維基百科版:Emacs(Editor MACroS,宏編輯器),最初由Richard Stallman于1975年在MIT協(xié)同Guy Lewis Steele Jr.共同完成。

verilog-mode是什么

官網(wǎng)的介紹:

Verilog-mode.el is the extremely popular free Verilog mode for Emacs which provides context-sensitive highlighting, auto indenting, and provides macro expansion capabilities to greatly reduce Verilog coding time. It supports AUTOs and indentation in Emacs for traditional Verilog (1394-2005), the Open Verification Methodology (OVM) and SystemVerilog (1800-2005/1800-2009).
Recent versions allow you to insert AUTOS in non-AUTO designs, so IP interconnect can be easily modified. You can also expand SystemVerilog ".*" port instantiations, to see what ports will be connected by the simulators.

簡(jiǎn)單點(diǎn)說(shuō)就是支持Verilog、SystemVerilog(包括UVM)的emacs語(yǔ)法高亮文件。其中提到Verilog-mode支持Autos——這就是今天的重點(diǎn)。

Verilog-mode是由Michael McNamara mac@verilog.com和Wilson Snyder wsnyder@wsnyder.org編寫(xiě)。難能可貴的是,這個(gè)verilog-mode保持著每月都有更新。

值得一提的是Wilson Snyder就是SystemVerilog開(kāi)源仿真器Verilator的作者。

verilog-mode Autos有哪些功能

手動(dòng)編寫(xiě)的verilog代碼:

image.png

由Autos處理后的Verilog代碼:

image.pngimage.png

大家可以看到,verilog-mode自動(dòng)分析出:

· 模塊的端口輸入和輸出

· 內(nèi)部變量

· 敏感信號(hào)列表

· 提取子模塊的端口定義

自動(dòng)提取子模塊的端口定義來(lái)連線是今天的重點(diǎn)中的重點(diǎn)。一般來(lái)講,我們實(shí)例化模塊時(shí)大部分的信號(hào)名與子模塊定義的名字一致即可。如上面代碼中的:

image.png

特殊連接關(guān)系的處理

但常常我們頂層連接時(shí)會(huì)換一個(gè)名字。比如module A有一個(gè)輸出端口dat_o,module B有一個(gè)輸入端口dat_i,這兩者怎么連?定義模版AUTO_TEMPLATE,如下:

手動(dòng)編寫(xiě)的verilog:

image.png

由Autos處理后的verilog代碼:

image.png

在哪里找子模塊定義?

默認(rèn)規(guī)則:

· 當(dāng)前文件夾下找

· 當(dāng)前找不到怎么辦,指定搜索路徑(與verilog仿真器的參數(shù)-y一樣)

使用方法:在頂層endmodule后面指定verilog-library-directories,如下:

image.png

除了寫(xiě)模版還需要做什么?

只需要Ctrl-C Ctrl-A,僅此而已。

如果修改了子模塊或者模版,再按一次Ctrl-C Ctrl-A。

更多功能

verilog-auto-arg for AUTOARG module instantiations

verilog-auto-ascii-enum for AUTOASCIIENUM enumeration decoding

verilog-auto-assign-modport for AUTOASSIGNMODPORT assignment to/from modport

verilog-auto-inout for AUTOINOUT making hierarchy inouts

verilog-auto-inout-comp for AUTOINOUTCOMP copy complemented i/o

verilog-auto-inout-in for AUTOINOUTIN inputs for all i/o

verilog-auto-inout-modport for AUTOINOUTMODPORT i/o from an interface modport

verilog-auto-inout-module for AUTOINOUTMODULE copying i/o from elsewhere

verilog-auto-inout-param for AUTOINOUTPARAM copying params from elsewhere

verilog-auto-input for AUTOINPUT making hierarchy inputs

verilog-auto-insert-lisp for AUTOINSERTLISP insert code from lisp function

verilog-auto-insert-last for AUTOINSERTLAST insert code from lisp function

verilog-auto-inst for AUTOINST instantiation pins

verilog-auto-star for AUTOINST .* SystemVerilog pins

verilog-auto-inst-param for AUTOINSTPARAM instantiation params

verilog-auto-logic for AUTOLOGIC declaring logic signals

verilog-auto-output for AUTOOUTPUT making hierarchy outputs

verilog-auto-output-every for AUTOOUTPUTEVERY making all outputs

verilog-auto-reg for AUTOREG registers

verilog-auto-reg-input for AUTOREGINPUT instantiation registers

verilog-auto-reset for AUTORESET flop resets

verilog-auto-sense for AUTOSENSE or AS always sensitivity lists

verilog-auto-tieoff for AUTOTIEOFF output tieoffs

verilog-auto-undef for AUTOUNDEF =`undef of local =`defines

verilog-auto-unused for AUTOUNUSED unused inputs/inouts

verilog-auto-wire for AUTOWIRE instantiation wires

verilog-read-defines for reading =`define values

verilog-read-includes for reading =`includes

verilog-mode下載、安裝

新版的GNU Emacs自帶verilog-mode,如果需要最新的verilog-mode可以在官網(wǎng)下載

VIM用戶(hù)咋辦?

可以用VIM調(diào)動(dòng)shell命令執(zhí)行(emacs批處理模式),例如:

:!emacs --batch <filenames.v> -f verilog-batch-auto

是不是很簡(jiǎn)單!

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1369

    瀏覽量

    113929
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4932

    瀏覽量

    72849
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    825

    瀏覽量

    32588
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用NucleiStudio生成tb仿真需要的.verilog文件

    打開(kāi)仿真頂層文件tb_top.v,存放在ITCM模塊里面的指令是通過(guò)readmemh函數(shù)讀入.verilog文件實(shí)現(xiàn)的: 下面通過(guò)對(duì)NucleiStudio IDE進(jìn)行設(shè)置,實(shí)現(xiàn)將c
    發(fā)表于 11-05 07:07

    如何利用Verilog HDL在FPGA上實(shí)現(xiàn)SRAM的讀寫(xiě)測(cè)試

    本篇將詳細(xì)介紹如何利用Verilog HDL在FPGA上實(shí)現(xiàn)SRAM的讀寫(xiě)測(cè)試。SRAM是一種非易失性存儲(chǔ)器,具有高速讀取和寫(xiě)入的特點(diǎn)。在FPGA中實(shí)現(xiàn)SRAM讀寫(xiě)測(cè)試,包括設(shè)計(jì)SRAM接口模塊
    的頭像 發(fā)表于 10-22 17:21 ?3797次閱讀
    如何利用<b class='flag-5'>Verilog</b> HDL在FPGA上實(shí)現(xiàn)SRAM的讀寫(xiě)測(cè)試

    如何在Linux系統(tǒng)開(kāi)啟Persistence Mode

    難道是驅(qū)動(dòng)老舊?資源不足?系統(tǒng)問(wèn)題?都不是——真相藏在一個(gè)容易被忽略的小設(shè)置里:Persistence Mode(持久模式)。
    的頭像 發(fā)表于 08-13 14:27 ?680次閱讀
    如何在Linux系統(tǒng)開(kāi)啟Persistence <b class='flag-5'>Mode</b>

    verilog模塊的調(diào)用、任務(wù)和函數(shù)

    在做模塊劃分時(shí),通常會(huì)出現(xiàn)這種情形,某個(gè)大的模塊中包含了一個(gè)或多個(gè)功能子模塊,verilog是通過(guò)模塊調(diào)用或稱(chēng)為模塊實(shí)例化的方式來(lái)實(shí)現(xiàn)這些子模塊與高層模塊的連接的.
    的頭像 發(fā)表于 05-03 10:29 ?1122次閱讀
    <b class='flag-5'>verilog</b>模塊的調(diào)用、任務(wù)和函數(shù)

    PIN_MODE_0工作模式是什么

    BLINKY_TASK_PRIO (osPriority_t)(17) static void *blinky_task(const char *arg) { unused(arg); uapi_pin_set_mode
    發(fā)表于 04-04 09:21

    FPGA Verilog HDL語(yǔ)法之編譯預(yù)處理

    Verilog HDL語(yǔ)言和C語(yǔ)言一樣也提供了編譯預(yù)處理的功能?!熬幾g預(yù)處理”是Verilog HDL編譯系統(tǒng)的一個(gè)組成部分。Verilog HDL語(yǔ)言允許在程序中使用幾種特殊的命令(它們不是一般
    的頭像 發(fā)表于 03-27 13:30 ?977次閱讀
    FPGA <b class='flag-5'>Verilog</b> HDL語(yǔ)法之編譯預(yù)處理

    Nexperia擴(kuò)展E-mode GaN FET產(chǎn)品組合

    Nexperia近日宣布其E-mode GaN FET產(chǎn)品組合新增12款新器件。本次產(chǎn)品發(fā)布旨在滿(mǎn)足市場(chǎng)對(duì)更高效、更緊湊系統(tǒng)日益增長(zhǎng)的需求。這些新型低壓和高壓E-mode GaN FET適用于多個(gè)
    的頭像 發(fā)表于 03-19 17:16 ?1027次閱讀

    一文詳解Verilog HDL

    Verilog HDL(Hardware Description Language)是一種硬件描述語(yǔ)言,用于從算法級(jí)、門(mén)級(jí)到開(kāi)關(guān)級(jí)的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模?,F(xiàn)實(shí)生活中多用于專(zhuān)用集成電路
    的頭像 發(fā)表于 03-17 15:17 ?3543次閱讀
    一文詳解<b class='flag-5'>Verilog</b> HDL

    Verilog中signed和$signed()的用法

    1、在verilog中有時(shí)會(huì)用signed修飾符來(lái)修飾定義的數(shù)據(jù),運(yùn)算的時(shí)候也會(huì)用$signed()任務(wù)來(lái)強(qiáng)制轉(zhuǎn)換數(shù)據(jù),那么signed的修飾是為什么呢,是為了區(qū)分有符號(hào)數(shù)和無(wú)符號(hào)數(shù)的加法和乘法
    的頭像 發(fā)表于 02-17 17:47 ?1108次閱讀
    <b class='flag-5'>Verilog</b>中signed和$signed()的用法

    淺談Verilog和VHDL的區(qū)別

    Verilog和VHDL是兩種廣泛使用的硬件描述語(yǔ)言(HDL),它們用于描述和模擬數(shù)字電路系統(tǒng)的行為和結(jié)構(gòu)。這兩種語(yǔ)言的主要作用是幫助工程師設(shè)計(jì)、仿真和驗(yàn)證集成電路(IC)和系統(tǒng)級(jí)芯片(SoC)中的硬件模塊。
    的頭像 發(fā)表于 02-17 14:20 ?2397次閱讀
    淺談<b class='flag-5'>Verilog</b>和VHDL的區(qū)別

    Verilog 電路仿真常見(jiàn)問(wèn)題 Verilog 在芯片設(shè)計(jì)中的應(yīng)用

    在現(xiàn)代電子設(shè)計(jì)自動(dòng)化(EDA)領(lǐng)域,Verilog作為一種硬件描述語(yǔ)言,已經(jīng)成為數(shù)字電路設(shè)計(jì)和驗(yàn)證的標(biāo)準(zhǔn)工具。它允許設(shè)計(jì)師以高級(jí)抽象的方式定義電路的行為和結(jié)構(gòu),從而簡(jiǎn)化了從概念到硅片的整個(gè)設(shè)計(jì)流程
    的頭像 發(fā)表于 12-17 09:53 ?1515次閱讀

    Verilog 與 ASIC 設(shè)計(jì)的關(guān)系 Verilog 代碼優(yōu)化技巧

    Verilog與ASIC設(shè)計(jì)的關(guān)系 Verilog作為一種硬件描述語(yǔ)言(HDL),在ASIC設(shè)計(jì)中扮演著至關(guān)重要的角色。ASIC(Application Specific Integrated
    的頭像 發(fā)表于 12-17 09:52 ?1370次閱讀

    Verilog 測(cè)試平臺(tái)設(shè)計(jì)方法 Verilog FPGA開(kāi)發(fā)指南

    Verilog測(cè)試平臺(tái)設(shè)計(jì)方法是Verilog FPGA開(kāi)發(fā)中的重要環(huán)節(jié),它用于驗(yàn)證Verilog設(shè)計(jì)的正確性和性能。以下是一個(gè)詳細(xì)的Verilog測(cè)試平臺(tái)設(shè)計(jì)方法及
    的頭像 發(fā)表于 12-17 09:50 ?1470次閱讀

    如何使用 Verilog 進(jìn)行數(shù)字電路設(shè)計(jì)

    使用Verilog進(jìn)行數(shù)字電路設(shè)計(jì)是一個(gè)復(fù)雜但有序的過(guò)程,它涉及從概念設(shè)計(jì)到實(shí)現(xiàn)、驗(yàn)證和優(yōu)化的多個(gè)階段。以下是一個(gè)基本的步驟指南,幫助你理解如何使用Verilog來(lái)設(shè)計(jì)數(shù)字電路: 1. 明確設(shè)計(jì)需求
    的頭像 發(fā)表于 12-17 09:47 ?1669次閱讀

    Verilog與VHDL的比較 Verilog HDL編程技巧

    Verilog 與 VHDL 比較 1. 語(yǔ)法和風(fēng)格 VerilogVerilog 的語(yǔ)法更接近于 C 語(yǔ)言,對(duì)于有 C 語(yǔ)言背景的工程師來(lái)說(shuō),學(xué)習(xí)曲線較平緩。它支持結(jié)構(gòu)化編程,代碼更直觀,易于
    的頭像 發(fā)表于 12-17 09:44 ?2496次閱讀