精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

集成電路開發之寄存器工具介紹

路科驗證 ? 來源:知乎 ? 2024-03-12 11:48 ? 次閱讀

引言

寄存器模塊在集成電路SOC和IP開發中是常見的模塊,主要是讓用戶軟件可以操作硬件,是軟件和硬件的橋梁,也是固件開發者和終端軟件開發者最關注的部分;

寄存器模塊的一端跟芯片內部總線相連,如AXI/AHB/APB等,另一端則直接跟模塊的核心相連,通過這個橋梁,用戶軟件可以配置、操作硬件,也可以讀取硬件狀態;

圍繞寄存器模塊,工程師有許多工作需要做,比如硬件源代碼,驗證UVM代碼,驗證C代碼,C頭文件,Trace32寄存器描述文件,開發文檔,用戶手冊等等;這些工作重復且有規律,非常適合用自動化工具來生成;

寄存器工具

開發一個通用的寄存器工具,需要滿足以下幾個方面的需求,才能適應更廣的使用場景:

數據文件格式的多樣性,如Excel、XML、ipxact、批處理命令文件,其它文本等

數據文件之間可以相互轉換

數據輸入的多樣性,如圖形界面、數據文件、命令行等

支持更多數據類型的數據模型

豐富的輸出文件類型,且支持用戶擴展

對用戶輸入數據的有效性進行驗證

支持豐富的數據操作,如合并、分拆、復制、移動、刪除、重復、查找、過濾、批處理等

可靈活配置的硬件源代碼生成,如接口類型,同步異步等

支持豐富的寄存器類型和位域類型,包括關聯型的和獨立型

RegFab

RegFab是筆者開發的通用寄存器工具,遵循以上全部原則,力求為工程師打造一個好用的工具,便捷,高效; 為了支持第三方IP,RegFab支持標準的ipxact文件,intel的XML文件,SVD文件;對于自研IP模塊,支持固定的Excel模板,或者用戶使用工具提供的命令寫一個批處理文件,用命令創建寄存器及一些配置信息;另外工具還提供GUI界面創建、編輯寄存器內容,直觀明了;各個文件格式之間可以相互轉換,方便對外交流; RegFab內部數據模型除了寄存器、位域,還有常數、參數、寄存器組、接口、復位、訪問、枚舉、存儲器、中斷等模型,模型的屬性基本上涵蓋了全部寄存器相關的信息,力求可以處理所有跟寄存器有關的需求; 寄存器工具最重要的部分是輸出特定格式的文件,目前RegFab支持下面幾種文件類型:

Verilog寄存器模塊源代碼

HTML格式的開發文檔,適合內部使用

驗證用UVM代碼

驗證用C語言代碼

C語言的頭文件,定義一些宏、結構體、函數

軟件開發工具Trace32用的寄存器描述文件

docx格式的寄存器用戶手冊

當然,除了這些工具自帶的文件類型,用戶可以擴展自己的文件類型,RegFab支持使用模板機制來做擴展,包括擴展不同排版風格的docx用戶手冊; Verilog源代碼是寄存器工具最重要的輸出文件,它包含以下內容:

可選擇的接口類型:AXI、AHB、APB、MEM

支持寄存器和ROM/RAM的混合存在

可選擇地生成輸入/輸出同步器

可選擇的同步復位和異步復位,以及復位掩膜

可選擇的豐富寄存器類型,及位域類型

除了以上的基本功能外,RegFab還開發了一些數據級的功能,以滿足開發過程中所遇到的困難和需求,可以批量執行一些操作,比如以下一些例子:

檢查用戶輸入數據的有效性,比如:地址重疊,信息缺失,類型沖突等

將一個地址范圍內的寄存器移動到另外一個地址段

批量修改滿足一定名字匹配規則的寄存器、位域,或者其它類型的屬性

相同類型的寄存器以一定地址間隔重復一些次數,只有名字后綴上的差別,其它完全相同

將多個模塊的寄存器文件合并起來產生輸出文件

對于工具的使用形式,RegFab提供以下幾種工作模式,最大程度滿足各類工程師的工作習慣:

GUI界面模式

命令行模式

命令行交互模式

批處理文件模式

總結

在大規模集成電路產品開發中,龐大的硬件規模必然對應眾多的寄存器模塊,隨之而來的就是巨大的工作量 ;所以出現自動化的寄存器工具是自然而然的想法,工具的開發難度不算高,帶來的好處卻是肉眼可見的;一款想工程師之所想,憂工程師之所憂,功能強大,配置靈活,使用方便的寄存器工具,也是工程師們喜聞樂見的心頭好!

審核編輯:黃飛

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

    關注

    5382

    文章

    11396

    瀏覽量

    360952
  • 寄存器
    +關注

    關注

    31

    文章

    5325

    瀏覽量

    120052

原文標題:集成電路開發中的自動化工具 - 寄存器工具

文章出處:【微信號:Rocker-IC,微信公眾號:路科驗證】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    寄存器是什么?怎么操作寄存器點亮LED燈?

    寄存器,是集成電路中非常重要的一種存儲單元,通常由觸發組成。在集成電路設計中,寄存器可分為電路
    的頭像 發表于 07-21 16:59 ?3921次閱讀
    <b class='flag-5'>寄存器</b>是什么?怎么操作<b class='flag-5'>寄存器</b>點亮LED燈?

    集成移位寄存器

    實驗七 集成移位寄存器一、 實驗目的1、 掌握集成雙向移位寄存器74LS95的邏輯功能2、 熟悉集成雙向移位
    發表于 03-20 17:54 ?19次下載

    寄存器應用舉例

    寄存器應用舉例   在9.2.3寄存器的應用一節中,曾介紹利用寄存器集成芯片74LS194構造的兩種脈沖分配器:環形計數
    發表于 05-17 00:02 ?1602次閱讀
    <b class='flag-5'>寄存器</b>應用舉例

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定義  寄存器是中央處理內的組成部分。寄存器是有限存貯容量
    發表于 03-08 14:26 ?2.2w次閱讀

    寄存器與移位寄存器

    寄存器與移位寄存器介紹寄存器原理和移位寄存器的原理及實現。
    發表于 05-20 11:47 ?0次下載

    移位寄存器的特點_移位寄存器工作原理

    目前移位寄存器電路中已經得到普遍使用。本文以移位寄存器為中心。主要介紹了移位寄存器分類、移位寄存器
    發表于 12-22 15:20 ?4.9w次閱讀
    移位<b class='flag-5'>寄存器</b>的特點_移位<b class='flag-5'>寄存器</b>工作原理

    主存和寄存器的區別介紹

    本文開始介紹了主存的概念和頻率及主存的大小,其次介紹寄存器工作原理與寄存器用途,最后介紹了主存和寄存器
    發表于 04-11 14:27 ?2.3w次閱讀

    逆向基礎寄存器和內存詳解

    本文主要介紹的是逆向基礎的寄存器和內存方面的信息,首先介紹的是逆向主要是做什么的,其次對編程和機器架構做了個簡介,最后詳細的闡述了逆向基礎的寄存器和內存。
    發表于 04-26 09:52 ?2968次閱讀

    寄存器由什么組成

    本文首先介紹寄存器的原理組成,其次介紹了ARM寄存器組成,最后介紹寄存器的用途。
    的頭像 發表于 08-21 18:33 ?3.7w次閱讀

    寄存器、累加、暫存傻傻分不清?

    什么是寄存器 寄存器,是集成電路中非常重要的一種存儲單元,通常由觸發組成。在集成電路設計中,寄存器
    的頭像 發表于 10-30 10:11 ?1779次閱讀

    MPU6050寄存器介紹

    MPU6050寄存器介紹電源管理寄存器1(0X6B)陀螺儀配置寄存器(0X1B)加速度傳感配置寄存器
    發表于 12-06 11:51 ?20次下載
    MPU6050<b class='flag-5'>寄存器</b><b class='flag-5'>介紹</b>

    AArch64寄存器介紹

    作為 RISC 架構,AArch64 提供了大量的通用寄存器。除通用寄存器之外,本節還會介紹特殊寄存器、系統控制寄存器、處理
    的頭像 發表于 08-24 09:57 ?5972次閱讀

    寄存器電路結構與慣常用法

    寄存器對于學習集成電路知識十分重要,不管是單片機亦或是現代計算機的CPU離開寄存器都無法快速的進行操作
    的頭像 發表于 02-14 15:18 ?4441次閱讀
    <b class='flag-5'>寄存器</b>的<b class='flag-5'>電路</b>結構與慣常用法

    簡述RAL寄存器模型基礎

    RAL(Register Abstract Layer,寄存器抽象層),通常也叫寄存器模型,顧名思義就是對寄存器這個部件的建模。本文要介紹的內容,包括對UVM
    的頭像 發表于 02-14 16:55 ?2667次閱讀
    簡述RAL<b class='flag-5'>寄存器</b>模型基礎

    寄存器開發,HAL開發和LL開發的區別和參考代碼

    1,寄存器開發【難度值:難】寄存器開發是一種直接訪問微控制寄存器的編程方法,它提供了對硬件的極
    的頭像 發表于 11-17 08:00 ?1385次閱讀
    <b class='flag-5'>寄存器</b><b class='flag-5'>開發</b>,HAL<b class='flag-5'>開發</b>和LL<b class='flag-5'>開發</b>的區別和參考代碼