国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

自動連線的神器——emacs verilog mode

li5236 ? 來源:ExASIC ? 作者:ExASIC ? 2022-03-29 14:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

emacs是什么?

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

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

verilog-mode是什么

簡單點說就是支持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.png

image.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
    +關注

    關注

    30

    文章

    1374

    瀏覽量

    114529
  • 編輯器
    +關注

    關注

    1

    文章

    828

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Verilog HDL語法學習筆記

    Verilog HDL 語 言 最 初 是 作為 Gateway Design Automation 公 司 ( Gateway DesignAutomation 公司后來被著名的 Cadence Design Systems 公司收購)模擬器產品開發的硬件建模語言。
    的頭像 發表于 03-04 15:04 ?3726次閱讀
    <b class='flag-5'>Verilog</b> HDL語法學習筆記

    深入剖析MAX6639/MAX6639F:雙路溫度監控與自動PWM風扇調速神器

    深入剖析MAX6639/MAX6639F:雙路溫度監控與自動PWM風扇調速神器 引言 在電子設備的設計中,溫度控制和風扇調速是至關重要的環節。有效的溫度管理不僅能確保設備穩定運行,還能延長其使用壽命
    的頭像 發表于 02-28 16:30 ?485次閱讀

    原理圖手動連線太繁瑣,自動連線來救場!

    原理圖繪圖中有比較多且繁瑣的操作,還極其容易出錯。比如:1.逐條網絡命名:在原理圖中為大量重要的電源、時鐘、差分對網絡手動添加有意義的名稱(如DDR_DQ[0],PCIe_CLK100M_P),極其耗時。2.總線(Bus)創建與連接:手動將幾十個甚至上百個信號線(如DATA0~DATA63)組合成總線,并確保原理圖符號和PCB布局中的連接正確無誤,非常容易出
    的頭像 發表于 11-10 18:30 ?663次閱讀
    原理圖手動<b class='flag-5'>連線</b>太繁瑣,<b class='flag-5'>自動</b><b class='flag-5'>連線</b>來救場!

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

    打開仿真頂層文件tb_top.v,存放在ITCM模塊里面的指令是通過readmemh函數讀入.verilog文件實現的: 下面通過對NucleiStudio IDE進行設置,實現將c
    發表于 11-05 07:07

    語法糾錯和testbench的自動生成

    在編寫Verilog代碼時,我一般都是先在編輯器上寫完,因為編輯器vscode或者notepad++可以提供語法高亮和自動補全等功能,然后用仿真器跑仿真,但是在編寫過程中不可避免的會有一些語法的錯誤
    發表于 10-27 07:07

    構建適用于三維集成系統的互連線長分布模型

    在三維集成電路設計中,TSV技術通過垂直互連顯著優化了互連線長分布特性。基于倫特定律的經典分析框架,可構建適用于三維集成系統的互連線長分布模型。
    的頭像 發表于 08-21 10:41 ?1140次閱讀
    構建適用于三維集成系統的互<b class='flag-5'>連線</b>長分布模型

    如何在Linux系統開啟Persistence Mode

    難道是驅動老舊?資源不足?系統問題?都不是——真相藏在一個容易被忽略的小設置里:Persistence Mode(持久模式)。
    的頭像 發表于 08-13 14:27 ?1211次閱讀
    如何在Linux系統開啟Persistence <b class='flag-5'>Mode</b>

    鑫金暉 | 0.3毫米pcb薄板智能絲印及薄板全自動連線解決方案分享

    鑫金暉科技是一家專業生產絲網印刷設備、隧道爐烘干設備以及提供自動連線解決方案的科技型、高新技術型、專精特新型企業。在pcb絲印設備方面,鑫金暉旗下現有:半自動絲印機:垂直式絲印機、左右(單/雙)跑
    的頭像 發表于 06-20 19:48 ?1002次閱讀
    鑫金暉 | 0.3毫米pcb薄板智能絲印及薄板全<b class='flag-5'>自動</b><b class='flag-5'>連線</b>解決方案分享

    (ST大賽三等獎作品)超聲波自拍神器實例項目

    (ST大賽三等獎作品)超聲波自拍神器電路圖:
    發表于 05-28 21:04

    CCLINKIE轉PROFINET:電機的“網絡沖浪神器”!

    家人們誰懂啊!在工業自動化這個“江湖”里,CCLINKIE和PROFINET就像兩位身懷絕技的大俠,各有各的厲害之處。CCLINKIE是日本電產公司推出的開放式網絡協議,數據傳輸那叫一個麻溜
    發表于 05-28 15:21

    verilog模塊的調用、任務和函數

    在做模塊劃分時,通常會出現這種情形,某個大的模塊中包含了一個或多個功能子模塊,verilog是通過模塊調用或稱為模塊實例化的方式來實現這些子模塊與高層模塊的連接的.
    的頭像 發表于 05-03 10:29 ?1569次閱讀
    <b class='flag-5'>verilog</b>模塊的調用、任務和函數

    HT 可視化監控頁面的 2D 與 3D 連線效果

    連線效果是如何實現的。我們將從 基本概念、實現步驟、關鍵代碼 多個維度,逐步剖析這個效果的具體實現過程,為你提供全面的知識和實踐指導。 盡管 2D 與 3D 連線效果看起來復雜,其本質仍然是二維節點之間的連接。只需要通過一些巧妙的技術,
    的頭像 發表于 04-09 11:28 ?1519次閱讀
    HT 可視化監控頁面的 2D 與 3D <b class='flag-5'>連線</b>效果

    FPGA Verilog HDL語法之編譯預處理

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

    Nexperia擴展E-mode GaN FET產品組合

    Nexperia近日宣布其E-mode GaN FET產品組合新增12款新器件。本次產品發布旨在滿足市場對更高效、更緊湊系統日益增長的需求。這些新型低壓和高壓E-mode GaN FET適用于多個
    的頭像 發表于 03-19 17:16 ?1359次閱讀

    一文詳解Verilog HDL

    Verilog HDL(Hardware Description Language)是一種硬件描述語言,用于從算法級、門級到開關級的多種抽象設計層次的數字系統建模。現實生活中多用于專用集成電路
    的頭像 發表于 03-17 15:17 ?4300次閱讀
    一文詳解<b class='flag-5'>Verilog</b> HDL