91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

關于代碼與硬件電路的對應關系

GReq_mcu168 ? 來源:玩轉單片機 ? 作者:玩轉單片機 ? 2020-12-09 15:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.Verilog HDL描述

可綜合電路Verilog HDL語言是對已知硬件電路的文本描述。所以編寫前:

對所需實現的硬件電路“胸有成竹”; 牢記可綜合Verilog HDL與電路結構一一對應的關系; 確認電路指標是什么:性能?面積? 硬件思維方式,代碼不再是一行行的代碼而是一塊一塊的硬件模塊;

達到以上幾點,就可以寫出行云流水般的高質量代碼。關于代碼與硬件電路的對應關系,參見如下圖片,引用自Synopsys官方文檔和幾本參考書:

13d66892-33d7-11eb-a64d-12bb97331649.jpg

1410cf0a-33d7-11eb-a64d-12bb97331649.jpg

14408e66-33d7-11eb-a64d-12bb97331649.jpg

148acad0-33d7-11eb-a64d-12bb97331649.jpg

14d4a506-33d7-11eb-a64d-12bb97331649.jpg

150bb0d2-33d7-11eb-a64d-12bb97331649.jpg

1547a88a-33d7-11eb-a64d-12bb97331649.jpg

156b8188-33d7-11eb-a64d-12bb97331649.jpg

2、自動化生成代碼如果一定要有奇淫技巧的話,那么代碼自動化生成技術就一定可以配得上這個稱號。

近十年來,數字集成電路規模和復雜度飛速提高。這給數字集成電路工程師帶來了不僅是腦力上的勞動的增加,更多是體力重復性工作的增多。傳統的手工代碼的編寫存在很多弊端。

首先對于模塊的代碼工程師,要面對許多設計文件。而這些文件之間可能相互不一致,給代碼的編寫帶來了很多的困擾。

其次,代碼工程師需要將這些文件中的很多設計信息體現在代碼中,其中一些信息是重復性的謄寫。這不僅帶來了很多枯燥復雜的工作量而且人工參與過多也容易引入很多粗心帶來的錯誤。

再次,由于各個模塊連接信號之多導致信號文件的手寫工作量很大。每個信號文件小則幾千行大則上萬行信息。而且一旦有信號連接的變動需要相應修改多個模塊的信號文件。

最后,如果設計文件改動相應的設計文件很容易出現哪幾處忘記改動的問題。

而Perl腳本語言又有著強大的處理文本的能力。將腳本語言應用于數字電路設計中,作為設計文檔和EDA工具的黏合劑,能夠大大增加設計的速度。

具體方法為:使用腳本語言從設計文檔中提取有用的信息來生成想要的Verilog HDL代碼,從而大大減少了IC設計者的工作量,并提高了代碼的質量。其好處有: (1)很好的設計一致性:保證了設計概念一旦變動即設計文檔稍加修改,對應的Verilog HDL代碼就會相應的改變,不需要工程師手動改變代碼。 (2)兼容性強:該自動生成代碼工具中設置了一個配置文件,供設計工程師的配置修改。對于不同的項目,通過修改配置該文件可以直接是代碼相應變化,有一定的靈活性。此外,該自動生成代碼工具已經應用于兩個以上項目中,實踐證明有很好的兼容性。 (3)代碼維護方便:對于設計代碼的更新或升級,只需要重新運行下該工具即可,不需要一點點該寫代碼。 (4)使用簡單:將很多腳本集成在一起,使用工具時只需要運行一條命令即可。本文將舉一個Perl語言在代碼自動生成中的應用實例,下圖為一SoC芯片中全芯片的時鐘控制電路框圖:

15975362-33d7-11eb-a64d-12bb97331649.jpg

時鐘控制模塊實現配置PLL參數、選擇輸出時鐘源、時鐘分頻、時鐘門控、bank切換、輸出時鐘等功能。3G、4G是系統通訊單元,向時鐘控制單元申請時鐘。PLLs是時鐘源,是時鐘控制單元的輸入。 時鐘控制單元有七大主要模塊,分別為時鐘源控制模塊、bank切換模塊、分頻模塊、時鐘門控模塊、多路選擇器模塊、寄存器、3G4G時鐘握手模塊。時鐘源控制模塊控制時鐘源的大小、開關。bank切換模塊使時鐘控制單元能正常工作在不同的電壓下。

時鐘控制單元的的工作機理如下:首先,外部模塊向時鐘控制單元請求時鐘,并修改并寫寄存器狀態;時鐘源控制單元根據寄存器中的內容配置時鐘源Plls,并提供了所有的時鐘源。然后,分頻器完成這些時鐘源預分頻的操作,并將其作為多路選擇器的時鐘源。而多路選擇器則從輸入的時鐘源中選擇輸出主時鐘。 主時鐘通過分頻模塊產生所有的分頻使能信號,這個過程中,需根據寄存器所配置的分頻數來輸出不同的頻率的時鐘。同時,根據系統的實時需求,通過由SPCU控制的bank選擇器完成門控時鐘的實現,降低系統的功耗。

以上是時鐘控制模塊的功能分析,那么如何通過代碼自動生成技術來實現呢? (1)首先,我們把這些模塊梳理下,形成一個自頂向下的層次結構,如下圖。如圖中所示,頂層模塊完成對底層模塊的連接,底層模塊實現時鐘控制單元的功能。

15d57d22-33d7-11eb-a64d-12bb97331649.jpg

針對代碼自動生成問題,對于頂層模塊來說,承擔的功能是自動地將底層數十個模塊連接起來。對于底層模塊來說,需要根據不同的功能定制需求,來自動化地生成所有功能性的代碼,然后被頂層調用和連接。這樣的話,就存在兩個問題:[1]自動生成頂層模塊?[2]自動生成底層模塊?

(2)頂層模塊:通常來說,對于一個復雜的SoC芯片,會有萬數量級的信號需要進行匹配和連接。而能夠自動生成的信號文件中的信號連接有兩個特點:一是信號命令規律性強二是信號的連接關系可以從設計文件中體現。滿足了這兩點,便可以實現信號文件的自動化。

(3)底層模塊此處即可體現Perl腳本強大的數據處理功能,針對該問題,將腳本劃分為三類:提取腳本、生成腳本和集成腳本三種。提取腳本用來從輸入文件中提取有用的設計信息到存儲單元中;生成腳本從存儲單元獲得有用信息來生成各個功能模塊的代碼;集成腳本將所有的腳本集成在一個腳本里,方便統一化使用。以下是代碼生成的腳本流程圖:

15f08298-33d7-11eb-a64d-12bb97331649.jpg

如圖所示,輸入的文件都是excel和文本形式,Perl腳本首先讀取技術文檔,從中解析出時鐘模塊所需的連接、頻率、時鐘域等信息,基于此信息建立一個數據庫。然后,根據實際芯片的具體需求,即配置文件,生成相應的自動化控制模式和需求。 最終,依據配置文件和數據庫,完成所有所需verilog代碼的生成。需要注意的是,并不是所有的代碼都可以自動生成,有些結構特殊的電路,只能通過手工編寫來完成。所以,自動編寫通常完成較為規整的、有規律性的代碼,手工書寫作為補充。這樣即可保證得到高質量的代碼。


責任編輯:lq

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

    關注

    29

    文章

    1367

    瀏覽量

    112300
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

    70761
  • 硬件電路
    +關注

    關注

    39

    文章

    254

    瀏覽量

    29794

原文標題:如何寫出高質量Verilog HDL代碼?這一做法值得推薦

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CY7C65223-24LTXI的GPIO號和引腳號的對應關系是什么?

    我不知道CY7C65223-24LTXI的GPIO號和引腳號的對應關系。 配置實用程序的 GPIO 配置窗口顯示 GPIO_00 到 GPIO_10,但當我查看數據表時,我可以看到 GPIO_2、7
    發表于 05-19 06:31

    心電輸入與ADS1293值的對應關系,如輸入1mv時,AD值為多少?

    我想知道心電輸入與AD值的對應關系,如輸入1mv時,AD值為多少? 按下圖的公式,假設輸入1mV,Vref=2.4,ADCmax=0x8000,則ADCout = 0x4017。而輸入0mV時,ADCout=0x4000。 0x17,基本無法分辨呀。哪里理解錯誤,謝!
    發表于 02-06 07:40

    村田電容標簽材質代碼如何看?

    字母組合代表了電容的基本類型和用途。例如,GRM表示一般用途片狀多層陶瓷電容器。 二、解讀尺寸代碼 在型號之后,通常會有一串數字或字母數字組合,用以表示電容的尺寸。例如,18、0603等,這些數字或代碼對應了電容的長和寬。具體的
    的頭像 發表于 01-13 14:14 ?828次閱讀

    ADS5407對于channel A和B有沒有什么對應關系

    每個ADS5407片子,都有2對SYNCOUTP/N管腳 1.對于channel A和B有沒有什么對應關系? 2.針對多片ADCs同步應用中,如果每片5407只接一對SYNCOUT到FPGA,能否可行?
    發表于 12-25 07:12

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

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

    BUCK電路占空比與輸出電壓關系

    BUCK電路是一種常見的降壓型直流-直流(DC-DC)變換器,在BUCK電路中,占空比與輸出電壓之間存在密切的關系。以下是對這種關系的介紹: 一、占空比的定義 在BUCK
    的頭像 發表于 12-12 15:45 ?3523次閱讀

    硬件電路的設計思路

    明確哪些功能是以硬件實現,哪些是軟件實現。其次,對需要硬件實現的功能再次進行需求細化,具體到哪些電路來實現對應的功能。 需求分析與細化是硬件
    的頭像 發表于 11-26 09:23 ?1671次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>電路</b>的設計思路

    ADS5546模擬輸入和數字輸出的對應關系是怎樣的?

    1、從規格書中沒有找到ADC的模擬輸入和數字輸出的對應關系,請問對應關系如何? 2、我們外部給入0.75V的模擬信號,理論上數字輸出應該是多少。
    發表于 11-15 08:25

    ADS131M04通訊的幾個管腳跟SPI的對應關系圖中正確嗎?

    請問,ADS131M04通訊的幾個管腳跟SPI的對應關系圖中正確嗎,難道不是DIN&lt;=&gt;SPI_MOSIDOUT&lt;=&
    發表于 11-13 06:43

    I2S數據和電壓之間的對應關系是什么?

    請教一個問題,就是音頻的I2S數據,換算成電壓,二者之間的對應關系或者公式是什么呢?
    發表于 11-05 08:25

    昂洋科技談國巨貼片電阻的尺寸代碼和選購

    代碼通常用于表示電阻的封裝尺寸,這些代碼由數字和字母組成,對應了電阻的長和寬的尺寸。常見的尺寸代碼及其對應的長寬尺寸(單位為英寸)如下: 這
    的頭像 發表于 11-01 15:21 ?657次閱讀
    昂洋科技談國巨貼片電阻的尺寸<b class='flag-5'>代碼</b>和選購

    TAS5731音量dB數與功率或者電壓的對應關系是怎樣的?

    在規格書里只是給出怎么調音量但是沒有標明音量dB數與功率或者電壓的對應關系,求大神解答
    發表于 10-24 06:04

    aic3106作為slave時,輸入的bclk與wclk是否有對應關系

    aic3106作為slave時,輸入的bclk與wclk是否有對應關系?求大神回復
    發表于 10-17 07:12

    使用福祿克尋線儀套件查找負載與開關的對應關系

    不清晰的負載與開關(通常指斷路器或保險絲)對應關系,可能導致在設計和維護過程中出現錯誤,增加電擊和觸電的風險。一但發生緊急故障或問題,維護人員無法快速做出正確判斷,可能會增加系統停機范圍或時間甚至導致人身危險。
    的頭像 發表于 08-16 10:05 ?748次閱讀
    使用福祿克尋線儀套件查找負載與開關的<b class='flag-5'>對應</b><b class='flag-5'>關系</b>

    AMC1302-Q1芯片輸入輸出電壓對應關系是怎樣的?

    AMC1302-Q1芯片輸入輸出電壓對應關系是怎樣的?根據數據手冊中,增益41,輸出Vo=(V+—V-)=1.44+41*Vi 嗎? 另下面電路圖是TI官網上的設計,輸入1.2mV/A與輸出77.7mV/A,是怎樣計算得出的?
    發表于 08-08 08:01
    主站蜘蛛池模板: 国产精品久久久久久久牛牛 | 末发育女一区二区三区 | 午夜小视频在线 | 午夜精品视频在线观看 | aa三级动态图无遮无挡 | 色婷婷网 | 天天操夜夜艹 | 天堂网在线.www天堂在线资源 | 久久免费观看国产精品 | 成人性视频网站 | toyota东热综合网 | 国产视频黄 | 四虎永久免费影院 | 亚欧人成精品免费观看 | 日韩美a一级毛片 | 国产成人综合网在线播放 | 激情五月亚洲色图 | 天天干天天操天天做 | 一级特黄aaa大片在线观看视频 | 成年男人午夜片免费观看 | 综合久久99 | 欧美一区亚洲二区 | 69er小视频| 亚州视频一区 | 波多野结衣在线网站 | 成人午夜亚洲影视在线观看 | 深夜视频免费看 | 伊人网综合在线观看 | 特级黄色免费片 | 天天干视频网站 | 天天摸天天做天天爽水多 | 婷婷在线观看网站 | 天天性视频 | 亚洲欧美在线观看 | 成人伊人青草久久综合网 | 222网站高清免费观看 | 天天躁日日躁成人字幕aⅴ 天天躁夜夜躁 | 五月天婷婷电影 | 成人精品人成网站 | 欧美片欧美日韩国产综合片 | 国产三级在线免费观看 |