日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

Emacs的verilog-mode介紹

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

掃碼添加小助手

加入工程師交流群

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

emacs是什么?

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

維基百科版: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.

簡單點說就是支持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自動分析出:

· 模塊的端口輸入和輸出

· 內(nèi)部變量

· 敏感信號列表

· 提取子模塊的端口定義

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

image.png

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

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

手動編寫的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)動shell命令執(zhí)行(emacs批處理模式),例如:

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

是不是很簡單!

審核編輯 :李倩

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

    關(guān)注

    31

    文章

    1374

    瀏覽量

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

    關(guān)注

    30

    文章

    4977

    瀏覽量

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

    關(guān)注

    1

    文章

    829

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

    很多開發(fā)者第一次接觸FPGA,都會有同樣的疑問:FPGA是硬件,不是軟件,怎么寫程序?答案就是用硬件描述語言(HDL),最常用的就是Verilog和VHDL。今天,我們就帶你入門,搞清楚FPGA編程
    的頭像 發(fā)表于 01-19 09:05 ?747次閱讀
    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接口憑借其強大的功能和廣泛的兼容性
    的頭像 發(fā)表于 01-12 16:35 ?777次閱讀

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

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

    請問測試用例.verilog文件是怎么生成的呢?

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

    verilog testbench中運行測試用例時,運行到make run_test出錯怎么解決?

    按照胡老師書上的在verilog testbench中運行測試用例時,在運行到make run_test步驟時出錯,查了很多方案沒有解決。
    發(fā)表于 11-11 06:52

    E203 test_mode信號是干啥用的?

    最近在研究E203的RTL代碼,有一個信號是test_mode,開源代碼里面給了個常量0。 請教一下各位大佬,這個信號是干啥用的?在什么情況下接0,什么情況下接1? 請大佬賜教,謝謝~
    發(fā)表于 11-11 06:51

    你覺得哪個軟件寫verilog體驗最好?有什么優(yōu)勢?

    你覺得哪個軟件寫verilog體驗最好?有什么優(yōu)勢?請在評論區(qū)留言跟大家分享一下吧。
    發(fā)表于 11-10 07:47

    請問verilog文件開頭部分的@00080000是什么意思?

    請問verilog文件開頭部分的@00080000是什么意思??
    發(fā)表于 11-06 08:10

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

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

    Hbirdv2在vivado2018.3上的仿真工作

    一、隊伍介紹 本篇為蜂鳥E203系列分享第一篇。本篇介紹的內(nèi)容是Hbirdv2在vivado2018.3上的仿真工作。 二、前言 仿真前,我們首先需要獲得仿真需要的.verilog文件,我們
    發(fā)表于 10-31 08:43

    NucleiStudio如何生成.verilog文件和.dasm文件,以及對.dasm文件中自定義指令反匯編結(jié)果分析

    硬件設(shè)計需要.verilog文件來運行加NICE后的tb仿真、軟件組需要.dasm來確定自定義指令有無被正確編譯。今天,我們來分享一下NucleiStudio如何生成.verilog文件和.dasm
    發(fā)表于 10-24 06:33

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

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

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

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

    CYBT-343151-02 LP_MODE與 CYBT-343026-01 相同嗎?

    基于CYW20706的 EZ 串行模塊用戶 gudie 沒有提到LP_mode活動低電平或高電平。 CYBT-343151-02 LP_MODE與 CYBT-343026-01 相同嗎???
    發(fā)表于 07-04 06:56
    庆阳市| 锦州市| 集贤县| 大丰市| 北安市| 贵港市| 桑日县| 无为县| 民勤县| 汉川市| 信宜市| 平凉市| 仙居县| 惠水县| 托里县| 页游| 沁阳市| 昆明市| 蒙自县| 三都| 穆棱市| 泉州市| 高青县| 海口市| 临沭县| 宜春市| 会昌县| 玛曲县| 五家渠市| 上饶市| 云浮市| 精河县| 保山市| 合阳县| 怀安县| 藁城市| 阿拉善盟| 应城市| 云霄县| 湘阴县| 荆州市|