91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(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編寫。難能可貴的是,這個(gè)verilog-mode保持著每月都有更新。

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

verilog-mode Autos有哪些功能

手動(dòng)編寫的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)編寫的verilog:

image.png

由Autos處理后的verilog代碼:

image.png

在哪里找子模塊定義?

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

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

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

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

image.png

除了寫模版還需要做什么?

只需要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用戶咋辦?

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

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

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

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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

    文章

    1374

    瀏覽量

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

    關(guān)注

    30

    文章

    4968

    瀏覽量

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

    關(guān)注

    1

    文章

    828

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Verilog HDL語(yǔ)法學(xué)習(xí)筆記

    Verilog HDL 語(yǔ) 言 最 初 是 作為 Gateway Design Automation 公 司 ( Gateway DesignAutomation 公司后來(lái)被著名的 Cadence Design Systems 公司收購(gòu))模擬器產(chǎn)品開(kāi)發(fā)的硬件建模語(yǔ)言。
    的頭像 發(fā)表于 03-04 15:04 ?5300次閱讀
    <b class='flag-5'>Verilog</b> HDL語(yǔ)法學(xué)習(xí)筆記

    FPGA 入門必看:Verilog 與 VHDL 編程基礎(chǔ)解析!

    很多開(kāi)發(fā)者第一次接觸FPGA,都會(huì)有同樣的疑問(wèn):FPGA是硬件,不是軟件,怎么寫程序?答案就是用硬件描述語(yǔ)言(HDL),最常用的就是Verilog和VHDL。今天,我們就帶你入門,搞清楚FPGA編程
    的頭像 發(fā)表于 01-19 09:05 ?469次閱讀
    FPGA 入門必看:<b class='flag-5'>Verilog</b> 與 VHDL 編程基礎(chǔ)解析!

    電子工程師必備:TMUXHS4446 USB - C 10Gbps Alt Mode Crossbar Mux深度解析

    電子工程師必備:TMUXHS4446 USB - C 10Gbps Alt Mode Crossbar Mux深度解析 在電子設(shè)備飛速發(fā)展的今天,USB - C接口憑借其強(qiáng)大的功能和廣泛的兼容性
    的頭像 發(fā)表于 01-12 16:35 ?542次閱讀

    TUSB1146:USB Type - C Alt Mode紅驅(qū)動(dòng)開(kāi)關(guān)的卓越之選

    TUSB1146:USB Type - C Alt Mode紅驅(qū)動(dòng)開(kāi)關(guān)的卓越之選 在當(dāng)今高速數(shù)據(jù)傳輸?shù)臅r(shí)代,USB Type - C接口憑借其強(qiáng)大的功能和廣泛的應(yīng)用,成為了電子設(shè)備中不可或缺的一部分
    的頭像 發(fā)表于 12-17 15:50 ?300次閱讀

    請(qǐng)問(wèn)測(cè)試用例.verilog文件是怎么生成的呢?

    在仿真時(shí)可以通過(guò)添加.verilog文件,直接讀入ITCM中,從而在仿真時(shí)我們就可以知道處理器的運(yùn)行結(jié)果,例如打印hello_world字樣。
    發(fā)表于 11-11 07:56

    你覺(jué)得哪個(gè)軟件寫verilog體驗(yàn)最好?有什么優(yōu)勢(shì)?

    你覺(jué)得哪個(gè)軟件寫verilog體驗(yàn)最好?有什么優(yōu)勢(shì)?請(qǐng)?jiān)谠u(píng)論區(qū)留言跟大家分享一下吧。
    發(fā)表于 11-10 07:47

    請(qǐng)問(wèn)verilog文件開(kāi)頭部分的@00080000是什么意思?

    請(qǐng)問(wèn)verilog文件開(kāi)頭部分的@00080000是什么意思??
    發(fā)表于 11-06 08:10

    使用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的讀寫測(cè)試

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

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

    難道是驅(qū)動(dòng)老舊?資源不足?系統(tǒng)問(wèn)題?都不是——真相藏在一個(gè)容易被忽略的小設(shè)置里:Persistence Mode(持久模式)。
    的頭像 發(fā)表于 08-13 14:27 ?1217次閱讀
    如何在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)用或稱為模塊實(shí)例化的方式來(lái)實(shí)現(xiàn)這些子模塊與高層模塊的連接的.
    的頭像 發(fā)表于 05-03 10:29 ?1575次閱讀
    <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 ?1443次閱讀
    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ā)布旨在滿足市場(chǎng)對(duì)更高效、更緊湊系統(tǒng)日益增長(zhǎng)的需求。這些新型低壓和高壓E-mode GaN FET適用于多個(gè)
    的頭像 發(fā)表于 03-19 17:16 ?1371次閱讀

    一文詳解Verilog HDL

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