在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Emacs的verilog-mode介紹

微云疏影 ? 來源:ExASIC ? 作者:ExASIC ? 2023-01-24 17:01 ? 次閱讀

RTL頂層自動連線聽說過嗎?想學嗎?我們今天就來介紹自動連線的神器——emacs verilog-mode。

emacs是什么?

江湖流傳版:傳說中神的編輯器。

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

verilog-mode是什么

官網的介紹:

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.

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

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

值得一提的是Wilson Snyder就是SystemVerilog開源仿真器Verilator的作者。

verilog-mode Autos有哪些功能

手動編寫的verilog代碼:

image.png

由Autos處理后的Verilog代碼:

image.pngimage.png

大家可以看到,verilog-mode自動分析出:

· 模塊的端口輸入和輸出

· 內部變量

· 敏感信號列表

· 提取子模塊的端口定義

自動提取子模塊的端口定義來連線是今天的重點中的重點。一般來講,我們實例化模塊時大部分的信號名與子模塊定義的名字一致即可。如上面代碼中的:

image.png

特殊連接關系的處理

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

手動編寫的verilog:

image.png

由Autos處理后的verilog代碼:

image.png

在哪里找子模塊定義?

默認規則:

· 當前文件夾下找

· 當前找不到怎么辦,指定搜索路徑(與verilog仿真器的參數-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可以在官網下載

VIM用戶咋辦?

可以用VIM調動shell命令執行(emacs批處理模式),例如:

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

是不是很簡單!

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    28

    文章

    1352

    瀏覽量

    110443
  • 代碼
    +關注

    關注

    30

    文章

    4834

    瀏覽量

    69116
  • 編輯器
    +關注

    關注

    1

    文章

    806

    瀏覽量

    31305
收藏 人收藏

    評論

    相關推薦

    Verilog 與 ASIC 設計的關系 Verilog 代碼優化技巧

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

    Verilog 測試平臺設計方法 Verilog FPGA開發指南

    Verilog測試平臺設計方法是Verilog FPGA開發中的重要環節,它用于驗證Verilog設計的正確性和性能。以下是一個詳細的Verilog測試平臺設計方法及
    的頭像 發表于 12-17 09:50 ?448次閱讀

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

    Verilog 與 VHDL 比較 1. 語法和風格 VerilogVerilog 的語法更接近于 C 語言,對于有 C 語言背景的工程師來說,學習曲線較平緩。它支持結構化編程,代碼更直觀,易于
    的頭像 發表于 12-17 09:44 ?396次閱讀

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發表于 11-05 11:45 ?455次閱讀
    如何自動生成<b class='flag-5'>verilog</b>代碼

    Verilog硬件描述語言參考手冊

    一. 關于 IEEE 1364 標準二. Verilog簡介三. 語法總結四. 編寫Verilog HDL源代碼的標準五. 設計流程
    發表于 11-04 10:12 ?4次下載

    system verilog語言簡介

    ICer需要System Verilog語言得加成,這是ICer深度的表現。
    發表于 11-01 10:44 ?0次下載

    Verilog HDL的基礎知識

    本文繼續介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞與非阻塞、循環語句、同步與異步、函數與任務語法知識。
    的頭像 發表于 10-24 15:00 ?607次閱讀
    <b class='flag-5'>Verilog</b> HDL的基礎知識

    如何利用Verilog-A開發器件模型

    如何用Verilog-A來開發器件模型在建模領域將尤為重要。今天就來以簡單的例子來介紹如何開發一個Verilog-A Model。
    的頭像 發表于 10-18 14:16 ?635次閱讀
    如何利用<b class='flag-5'>Verilog</b>-A開發器件模型

    Verilog的版本有哪些

    電子發燒友網站提供《Verilog的版本有哪些.docx》資料免費下載
    發表于 05-31 11:29 ?0次下載

    verilog中input和output作用

    以完成各種計算和控制任務。本文將詳細介紹input和output在Verilog中的作用及其使用方式。 一、input的作用及使用方式 作用 在Verilog中,input用于定義模塊的輸入端口。它表示模塊能夠接收外部信號或者其
    的頭像 發表于 02-23 10:29 ?3442次閱讀

    verilog與其他編程語言的接口機制

    Verilog是一種硬件描述語言,用于描述數字電路的行為和結構。與其他編程語言相比,Verilog具有與硬件緊密結合的特點,因此其接口機制也有一些與眾不同之處。本文將詳細介紹Verilog
    的頭像 發表于 02-23 10:22 ?777次閱讀

    verilog調用模塊端口對應方式

    Verilog是一種硬件描述語言(HDL),廣泛應用于數字電路設計和硬件驗證。在Verilog中,模塊是構建電路的基本單元,而模塊端口對應方式則用于描述模塊之間信號傳遞的方式。本文將介紹
    的頭像 發表于 02-23 10:20 ?1918次閱讀

    verilog雙向端口的使用

    輸出信號。本文將詳細介紹Verilog雙向端口的使用,并提供示例說明其在實際應用中的作用。 第一部分:雙向端口的定義和語法 在Verilog中,可以使用wire聲明一個雙向端口。例如:wire bidirectional_por
    的頭像 發表于 02-23 10:18 ?1542次閱讀

    verilog function函數的用法

    Verilog 中被廣泛用于對電路進行模塊化設計,以簡化和組織代碼。 本文將詳細介紹 Verilog 函數的用法,并探討函數在硬件設計中的重要性和實際應用場景。 一. Verilog
    的頭像 發表于 02-22 15:49 ?6092次閱讀

    verilog同步和異步的區別 verilog阻塞賦值和非阻塞賦值的區別

    Verilog是一種硬件描述語言,用于設計和模擬數字電路。在Verilog中,同步和異步是用來描述數據傳輸和信號處理的兩種不同方式,而阻塞賦值和非阻塞賦值是兩種不同的賦值方式。本文將詳細解釋
    的頭像 發表于 02-22 15:33 ?1846次閱讀
    主站蜘蛛池模板: 男人j进入女人j在线视频 | yiren22亚洲综合高清一区 | 美女黄频| 久久福利国产 | 明日花在线观看 | 男女视频在线观看 | 一级做a爱片久久毛片 | 在线观看色视频网站 | 李老汉的性生生活1全部 | 九九国产在线 | 特黄色一级毛片 | 成人在线精品 | 日本精品卡一卡2卡3卡四卡三卡 | 成人丁香 | 丁香九月婷婷 | 日韩精品一级a毛片 | 成人在线一区二区三区 | 亚洲色图国产精品 | 22sihu国产精品视频影视资讯 | 一本大道高清在线视频 视频 | 欧美中出| 欧美一级视频精品观看 | 国产精品亚洲一区二区三区在线播放 | 黄色免费网站在线观看 | 777国产精品永久免费观看 | 国产精品偷伦费观看 | 黄色一级片毛片 | 欧美一级二级三级视频 | 手机看片福利1024 | 天天精品| 一级日本高清视频免费观看 | 国产一级免费视频 | 国产主播在线播放 | 三级在线观看视频 | 天天摸夜夜爽 | 久久天天躁夜夜躁狠狠躁2015 | 中国人69xxx大全 | 亚洲二区在线 | 狠狠色狠狠色 | 亚欧人成精品免费观看 | 一级久久久 |