色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

如何使用Verilog HDL描述可綜合電路?

電子工程師 ? 來源:硬件加速與EDA ? 作者:硬件加速與EDA ? 2021-04-04 11:19 ? 次閱讀

1、如何使用Verilog HDL描述可綜合電路

Verilog 有什么奇技淫巧?我想最重要的是理解其硬件特性。Verilog HDL語言僅是對已知硬件電路的文本描述。所以編寫前:

對所需實現的硬件電路“胸有成竹”;

牢記可綜合Verilog HDL與電路結構一一對應的關系;

確認電路指標是什么:性能?面積?

硬件思維方式,代碼不再是一行行的代碼而是一塊一塊的硬件模塊;

達到以上幾點,就可以確保寫出行云流水般的高質量代碼。

關于代碼與硬件電路的對應關系,參見如下圖片,引用自Synopsys官方文檔:

46476c84-8f64-11eb-8b86-12bb97331649.png

46c611c4-8f64-11eb-8b86-12bb97331649.jpg

471f01e4-8f64-11eb-8b86-12bb97331649.jpg

47875514-8f64-11eb-8b86-12bb97331649.jpg

47cc9304-8f64-11eb-8b86-12bb97331649.jpg

483109e2-8f64-11eb-8b86-12bb97331649.jpg

488f1168-8f64-11eb-8b86-12bb97331649.jpg

49042bce-8f64-11eb-8b86-12bb97331649.jpg

2、自動化生成代碼

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

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

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

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

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

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

而腳本語言又有著強大的處理文本的能力。將腳本語言應用于數字電路設計中,作為設計文檔和EDA工具的黏合劑,能夠大大增加設計的速度。具體方法為:使用腳本語言從設計文檔中提取有用的信息來生成想要的Verilog HDL代碼,從而大大減少了IC設計者的工作量,并提高了代碼的質量。

其好處有:

很好的設計一致性:保證了設計概念一旦變動即設計文檔稍加修改,對應的VHDL代碼就會相應的改變,不需要工程師手動改變代碼。

兼容性強:該自動生成代碼工具中設置了一個配置文件,供設計工程師的配置修改。對于不同的項目,通過修改配置該文件可以直接是代碼相應變化,有一定的靈活性。此外,該自動生成代碼工具已經應用于兩個以上項目中,實踐證明有很好的兼容性。

代碼維護方便:對于設計代碼的更新或升級,只需要從新運行下該工具即可,不需要一點點該寫代碼。

使用簡單:集成大量腳本,使用工具時只需要運行一條命令即可。

本文將舉一個Perl語言在代碼自動生成中的應用實例,下圖為一款SoC芯片中全芯片的時鐘控制電路框圖:

499ef74e-8f64-11eb-8b86-12bb97331649.png

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

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

以上是時鐘控制模塊的功能分析,那么如何通過代碼自動生成技術來實現呢?

(1)首先,我們把這些模塊梳理下,形成一個自頂向下的層次結構,如下圖。如圖中所示,頂層模塊完成對底層模塊的連接,底層模塊實現時鐘控制單元的功能。

4a3c4f08-8f64-11eb-8b86-12bb97331649.jpg

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

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

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

4a9645a8-8f64-11eb-8b86-12bb97331649.jpg

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

總結

Perl語言強大的正則和hash能力成就了代碼自動生成技術,在這個領域,其他腳本語言黯然失色。當然,使用Python也可以同樣的功能。

但是,這還遠遠不夠智能

短期內,如何使得代碼生成技術更加友好,更方便移植和管理?如何更加徹底地剝離人工干預的工作,腳本自動決定哪些電路需要自動生成的代碼?

在更遠的未來,是否能夠拋棄掉太糾結于細節的Verilog語言?高級語言綜合技術HLS、Chisel、AI自動生成代碼和電路是否是更好的選擇?

原文標題:書寫Verilog 有什么奇技淫巧

文章出處:【微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    172

    文章

    5922

    瀏覽量

    172306
  • Verilog
    +關注

    關注

    28

    文章

    1351

    瀏覽量

    110122

原文標題:書寫Verilog 有什么奇技淫巧

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    Circuit,專用集成電路)設計是一個復雜的過程,涉及到邏輯設計、綜合、布局布線、物理驗證等多個環節。在這個過程中,Verilog被用來描述數字
    的頭像 發表于 12-17 09:52 ?127次閱讀

    Verilog與VHDL的比較 Verilog HDL編程技巧

    理解。 VHDL :VHDL 的語法更接近于 Ada 語言,它是一種更正式的語言,具有豐富的數據類型和結構。VHDL 支持數據流、行為和結構化三種描述方式。 2. 可讀性和可維護性 Verilog
    的頭像 發表于 12-17 09:44 ?159次閱讀

    數字系統設計與Verilog HDL

    數字系統設計與Verilog HDL 1.兼職職位 ,不坐班,等待公司分配任務,時間自由 2.薪資: 200-5000不等具體協商 3.要求:國內985/211院校在讀或畢業,或者國外前100的院校 4.英語水平:四級500+
    發表于 11-06 17:57

    Verilog硬件描述語言參考手冊

    一. 關于 IEEE 1364 標準二. Verilog簡介三. 語法總結四. 編寫Verilog HDL源代碼的標準五. 設計流程
    發表于 11-04 10:12 ?0次下載

    Verilog HDL的基礎知識

    本文繼續介紹Verilog HDL基礎知識,重點介紹賦值語句、阻塞與非阻塞、循環語句、同步與異步、函數與任務語法知識。
    的頭像 發表于 10-24 15:00 ?434次閱讀
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>的基礎知識

    FPGA Verilog HDL代碼如何debug?

    ,它們是同時存在的。但在實際的物理系統中,由于信號傳播的特性、電路元件的影響等因素,可能會表現出一定的差異。但這種差異并非簡單的先高頻后低頻的順序,而是受到多種復雜因素的綜合影響。 例如,在高頻電路
    發表于 09-24 19:16

    FPGA Verilog HDL有什么奇技巧?

    技巧或許可以被視為“奇技淫巧”,但需要注意的是,在實際應用中應遵循良好的代碼規范和設計原則: 利用 generate 語句生成重復的模塊或邏輯:可以根據條件動態地生成電路結構,提高代碼的靈活性和復用性
    發表于 09-12 19:10

    FPGA設計中 Verilog HDL實現基本的圖像濾波處理仿真

    今天給大俠帶來FPGA設計中用Verilog HDL實現基本的圖像濾波處理仿真,話不多說,上貨。 1、用matlab代碼,準備好把圖片轉化成Vivado Simulator識別的格式,即每行一
    發表于 05-20 16:44

    有什么好用的verilog HDL編輯工具可用?

    有什么好用的verilog HDL編輯工具可用?最好能集成實時的verilog HDL語法檢測、自定義模塊識別觸發等功能,最好能夠免費;
    發表于 04-28 11:00

    fpga用的是什么編程語言 fpga用什么語言開發

    fpga用的是什么編程語言 FPGA(現場可編程邏輯門陣列)主要使用的編程語言是硬件描述語言(HDL)。在眾多的HDL中,Verilog HDL
    的頭像 發表于 03-14 17:09 ?3521次閱讀

    verilog調用模塊端口對應方式

    Verilog是一種硬件描述語言(HDL),廣泛應用于數字電路設計和硬件驗證。在Verilog中,模塊是構建
    的頭像 發表于 02-23 10:20 ?1792次閱讀

    verilog inout用法與仿真

    Verilog語言是一種硬件描述語言(HDL),用于描述數字邏輯電路和系統。它是一種非常強大且廣泛使用的語言,在數字
    的頭像 發表于 02-23 10:15 ?3066次閱讀

    verilog中initial和always的區別

    Verilog是一種硬件描述語言(HDL),用于設計和模擬數字電路。在Verilog中,關鍵字initial和always都是用于
    的頭像 發表于 02-22 16:09 ?2940次閱讀

    verilog function函數的用法

    Verilog 是一種硬件描述語言 (HDL),主要用于描述數字電子電路的行為和結構。在 Verilog
    的頭像 發表于 02-22 15:49 ?5731次閱讀

    Verilog HDL數字集成電路設計方法概述

    電子發燒友網站提供《Verilog HDL數字集成電路設計方法概述.zip》資料免費下載
    發表于 02-03 09:27 ?2次下載
    主站蜘蛛池模板: 北条麻妃のレズナンパ| 欧美性黑吊xxx| 久久久91精品国产一区二区| 四虎国产精品永久一区高清 | 日韩精品一区二区三区色欲AV| 永久精品视频无码一区| 久草在线在线精品观看| 亚洲人成色777777老人头| 国产网站免费观看| 亚洲精品视频观看| 国产亚洲高清视频| 亚洲福利视频导航| 国内精品久久久久影院男同志 | 国产成人免费在线观看| 色WWW永久免费视频首页| 大胸美女被C得嗷嗷叫动态图| 色婷婷欧美在线播放内射| 国产99r视频精品免费观看| 天海翼精品久久中文字幕| 国产精品人妻无码久久久蜜桃| 亚洲 日韩 欧美 国产专区| 狠狠久久免费视频在线| 影音先锋电影资源av| 美女医生深夜在家裸睡惨死| 99国产小视频| 日韩精品a在线视频| 国产精品久久久久久日本| 亚洲成a人片777777久久| 京香在线播放| 97人人碰免费视频公开| 青青热久久综合网伊人| 国产九色在线| 用快播看黄的网站| 欧美精品华人在线| 共妻肉多荤文高h一女n男| 亚洲国产在线99视频| 久久久青青| 床伴在线观看免费高清完整泰剧第四集 | 狠狠人妻久久久久久综合九色| 伊人久久大香| 欧美无码专区|