RM新时代网站-首页

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

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

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

集成電路開發(fā)之寄存器工具介紹

路科驗(yàn)證 ? 來源:知乎 ? 2024-03-12 11:48 ? 次閱讀

引言

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

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

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

寄存器工具

開發(fā)一個(gè)通用的寄存器工具,需要滿足以下幾個(gè)方面的需求,才能適應(yīng)更廣的使用場(chǎng)景:

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

數(shù)據(jù)文件之間可以相互轉(zhuǎn)換

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

支持更多數(shù)據(jù)類型的數(shù)據(jù)模型

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

對(duì)用戶輸入數(shù)據(jù)的有效性進(jìn)行驗(yàn)證

支持豐富的數(shù)據(jù)操作,如合并、分拆、復(fù)制、移動(dòng)、刪除、重復(fù)、查找、過濾、批處理等

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

支持豐富的寄存器類型和位域類型,包括關(guān)聯(lián)型的和獨(dú)立型

RegFab

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

Verilog寄存器模塊源代碼

HTML格式的開發(fā)文檔,適合內(nèi)部使用

驗(yàn)證用UVM代碼

驗(yàn)證用C語言代碼

C語言的頭文件,定義一些宏、結(jié)構(gòu)體、函數(shù)

軟件開發(fā)工具Trace32用的寄存器描述文件

docx格式的寄存器用戶手冊(cè)

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

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

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

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

可選擇的同步復(fù)位和異步復(fù)位,以及復(fù)位掩膜

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

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

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

將一個(gè)地址范圍內(nèi)的寄存器移動(dòng)到另外一個(gè)地址段

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

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

將多個(gè)模塊的寄存器文件合并起來產(chǎn)生輸出文件

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

GUI界面模式

命令行模式

命令行交互模式

批處理文件模式

總結(jié)

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

審核編輯:黃飛

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

    關(guān)注

    5387

    文章

    11530

    瀏覽量

    361630
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120230

原文標(biāo)題:集成電路開發(fā)中的自動(dòng)化工具 - 寄存器工具

文章出處:【微信號(hào):Rocker-IC,微信公眾號(hào):路科驗(yàn)證】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    寄存器是什么?怎么操作寄存器點(diǎn)亮LED燈?

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

    集成移位寄存器

    實(shí)驗(yàn)七 集成移位寄存器一、 實(shí)驗(yàn)?zāi)康?、 掌握集成雙向移位寄存器74LS95的邏輯功能2、 熟悉集成雙向移位
    發(fā)表于 03-20 17:54 ?19次下載

    寄存器應(yīng)用舉例

    寄存器應(yīng)用舉例   在9.2.3寄存器的應(yīng)用一節(jié)中,曾介紹利用寄存器集成芯片74LS194構(gòu)造的兩種脈沖分配器:環(huán)形計(jì)數(shù)
    發(fā)表于 05-17 00:02 ?1647次閱讀
    <b class='flag-5'>寄存器</b>應(yīng)用舉例

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

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

    寄存器與移位寄存器

    寄存器與移位寄存器介紹寄存器原理和移位寄存器的原理及實(shí)現(xiàn)。
    發(fā)表于 05-20 11:47 ?0次下載

    移位寄存器的特點(diǎn)_移位寄存器工作原理

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

    主存和寄存器的區(qū)別介紹

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

    逆向基礎(chǔ)寄存器和內(nèi)存詳解

    本文主要介紹的是逆向基礎(chǔ)的寄存器和內(nèi)存方面的信息,首先介紹的是逆向主要是做什么的,其次對(duì)編程和機(jī)器架構(gòu)做了個(gè)簡(jiǎn)介,最后詳細(xì)的闡述了逆向基礎(chǔ)的寄存器和內(nèi)存。
    發(fā)表于 04-26 09:52 ?2974次閱讀

    寄存器由什么組成

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

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

    什么是寄存器 寄存器,是集成電路中非常重要的一種存儲(chǔ)單元,通常由觸發(fā)組成。在集成電路設(shè)計(jì)中,寄存器
    的頭像 發(fā)表于 10-30 10:11 ?1823次閱讀

    MPU6050寄存器介紹

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

    AArch64寄存器介紹

    作為 RISC 架構(gòu),AArch64 提供了大量的通用寄存器。除通用寄存器之外,本節(jié)還會(huì)介紹特殊寄存器、系統(tǒng)控制寄存器、處理
    的頭像 發(fā)表于 08-24 09:57 ?6102次閱讀

    寄存器電路結(jié)構(gòu)與慣常用法

    寄存器對(duì)于學(xué)習(xí)集成電路知識(shí)十分重要,不管是單片機(jī)亦或是現(xiàn)代計(jì)算機(jī)的CPU離開寄存器都無法快速的進(jìn)行操作
    的頭像 發(fā)表于 02-14 15:18 ?4587次閱讀
    <b class='flag-5'>寄存器</b>的<b class='flag-5'>電路</b>結(jié)構(gòu)與慣常用法

    簡(jiǎn)述RAL寄存器模型基礎(chǔ)

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

    寄存器開發(fā),HAL開發(fā)和LL開發(fā)的區(qū)別和參考代碼

    1,寄存器開發(fā)【難度值:難】寄存器開發(fā)是一種直接訪問微控制寄存器的編程方法,它提供了對(duì)硬件的極
    的頭像 發(fā)表于 11-17 08:00 ?1534次閱讀
    <b class='flag-5'>寄存器</b><b class='flag-5'>開發(fā)</b>,HAL<b class='flag-5'>開發(fā)</b>和LL<b class='flag-5'>開發(fā)</b>的區(qū)別和參考代碼
    RM新时代网站-首页