SOC3.0 項(xiàng)目都有哪些東西:
模塊升級
SOC V3.0在2.0項(xiàng)目的基礎(chǔ)上增加了Jtag、iCache、CNN 和PWM模塊。
Jtag:
Jtag是聯(lián)合測試工作組(Joint Test Action Group)的簡稱,目前最主要用在集成電路的測試,也可以通過JTAG結(jié)合DM(Debug Module) 實(shí)現(xiàn)芯片的調(diào)試,為軟件開發(fā)者提供了一個芯片內(nèi)部的后門。
Jtag 狀態(tài)機(jī)
DM(Debug module):
DM 稱為調(diào)試模塊,該電路集成在芯片內(nèi)部,方便開發(fā)者編程、調(diào)試、異常處理等功能,已經(jīng)是芯片不可或缺的電路。
下圖是RISCV的debug module。
上述JTAG和DM在我們SOC V3.0里面已經(jīng)集成。
以下是我們在環(huán)境中跑的test的部分波形:
CNN:
CNN是Convolutional neural network (CNN)的簡稱,在圖像識別、語音識別、大語言模型中廣泛的使用。
CNN的應(yīng)用
典型的CNN結(jié)構(gòu)由卷積層、池化層、連接層組成。
典型的CNN網(wǎng)絡(luò)
在我們的SOC V3.0里面,我們集成了一個簡單的CNN網(wǎng)絡(luò)。
其中包含卷積運(yùn)算、池化運(yùn)算、線性運(yùn)算。
卷積運(yùn)算
PWM:
PWM是Pulse Width Modulation的簡稱,在燈光調(diào)節(jié)、電機(jī)控制等各個領(lǐng)域有廣泛的應(yīng)用。
PWM控制不同占空比
在我們SOC V3.0中,我們集成了PWM模塊。
下面是我們PWM模塊跑出來的波形。
工具升級
在SOC V3.0的環(huán)境上,我們研發(fā)了yrun 、ycheck、ygpt 等腳本工具。
yrun:
yrun支持跑編譯、仿真、回歸等多個功能。
詳細(xì)功能介紹:
簡潔的test 添加機(jī)制;
支持只編譯模式;
支持只simulation模式;
支持特定的 test list的 regression;
支持同時跑不同的regression;
支持 simulation 進(jìn)行時在終端上打印log;
支持simulation 在后臺運(yùn)行;
支持特定 test list 中 特定test的 simulation;
支持 fail test的rerun機(jī)制;
支持中間查看特定regression的運(yùn)行狀態(tài);
支持將regression的結(jié)果通過mail的方式發(fā)給指定的用戶;
支持將regression的fail test的error 顯示在regression的結(jié)果中;
支持用戶定義FPGA simulation,Gate lever simulation,UPF simulation等。
在SOC V3.0里面,我們提供了yrun使用的demo,用戶可以根據(jù)自己的需要將yrun應(yīng)用到自己的IP和SOC驗(yàn)證環(huán)境中。
注意!!! 在我們提供的demo里面,yrun的源代碼是提供給大家的。SOC V3.0驗(yàn)證環(huán)境里面的yrun由于做了更多的開發(fā),我們對部分代碼進(jìn)行了加密處理。 ycheck: ycheck 是用于檢查regression的狀態(tài)使用。 使用方法如下:
ygpt: ygpt是將GPT引入到芯片的研發(fā)中,通過GPT讀取代碼,用戶可以根據(jù)自己需求向GPT獲取信息。例如:制定 testplan,寫 testbench 等等。 下面是ygpt 使用的案例:
驗(yàn)證環(huán)境升級 目前我們SOC V3.0 包含了 :
基于UVM的IP驗(yàn)證方法學(xué)
基于C的SOC驗(yàn)證方法學(xué)
基于UVM的SOC驗(yàn)證方法學(xué)
基于Formal的驗(yàn)證方法學(xué)
下面我們詳細(xì)介紹: 基于UVM的IP驗(yàn)證方法學(xué) 在我們?nèi)粘5腎P驗(yàn)證中,IP分為10大類,他們是:
通信IP:如USB、Ethernet、PCI Express等。
存儲IP:如存儲控制器、閃存控制器等。
數(shù)字信號處理IP:如圖像處理等。
模擬IP:如模擬-數(shù)字轉(zhuǎn)換器(ADC)和數(shù)字-模擬轉(zhuǎn)換器(DAC)等。
安全I(xiàn)P:如加密引擎、隨機(jī)數(shù)生成器等。
時鐘IP:包括時鐘生成器和分配網(wǎng)絡(luò),用于同步和時序控制。
外設(shè)IP:包括各種外設(shè),如UART、SPI、I2C等,用于與其他設(shè)備進(jìn)行通信。
自定義IP:一些芯片制造商或設(shè)計團(tuán)隊(duì)可能會開發(fā)自定義的IP。
在這些IP里面,我們根據(jù)驗(yàn)證采用的不同策略可以將其歸為四大類:
第一類 : 協(xié)議類IP,如USB,UART,時鐘IP等;
第二類 : 算法類IP,如ISP,CNN等;
第三類 : 處理器IP,如CPU,GPU等;
第四類 : 模擬IP,如ADC,DAC等。
在我們SOC V3.0 項(xiàng)目中,我們開發(fā)了協(xié)議類IP的驗(yàn)證環(huán)境和算法類IP的驗(yàn)證環(huán)境。
協(xié)議類IP 驗(yàn)證環(huán)境—QSPI
QSPI 采用UVM驗(yàn)證即可,其驗(yàn)證框架如下
QSPI驗(yàn)證環(huán)境
QSPI 驗(yàn)證環(huán)境包括APB Agent,Register Model,Register Adapter, QSPI Scoreboard,QSPI Monitor,Sequencer 等。 算法類IP 驗(yàn)證環(huán)境—ISP ISP 采用UVM+C的驗(yàn)證方式,UVM和C的交互有多種方式,在ISP環(huán)境中,我們選擇將C編譯成可執(zhí)行文件,然后通過UVM環(huán)境調(diào)用可執(zhí)行文件生成帶有預(yù)期的數(shù)據(jù)的txt文件,UVM 環(huán)境通過讀取預(yù)期數(shù)據(jù)的txt文件與觀測到值進(jìn)行比對,從而判斷設(shè)計的正確性。
ISP驗(yàn)證環(huán)境
算法類IP 驗(yàn)證環(huán)境—CNN CNN也是采用UVM+C的驗(yàn)證方式,不同于ISP,在CNN環(huán)境中,我們采用DPI的方式調(diào)用C文件,scorboard在拿到觀測數(shù)據(jù)之后,直接通過DPI 調(diào)用 C函數(shù)獲取預(yù)期的值。
CNN驗(yàn)證環(huán)境
基于C的SOC驗(yàn)證方法學(xué) SOC環(huán)境集成了CPU,為了讓CPU能夠跑起來,一個簡單的做法是讓CPU直接吃指令執(zhí)行,但是純粹的機(jī)器指令可讀性很差。采用C寫test,然后用工具鏈編譯成機(jī)器指令給CPU執(zhí)行是一種常規(guī)的操作。 在SOC V3.0中,我們提供基于C的SOC驗(yàn)證環(huán)境。
基于C的SOC驗(yàn)證環(huán)境 我們提供了包括UART,I2C,SPI,CNN,ISP在內(nèi)的諸多IP的C test。用戶可以通過仿真了解C的編譯和執(zhí)行過程,對芯片的運(yùn)行有個更加系統(tǒng)的理解。 基于UVM的SOC驗(yàn)證方法學(xué) 在SOC環(huán)境中,采用C生成機(jī)器碼讓CPU執(zhí)行的過程會占用大量的仿真時間,特別是一些復(fù)雜的大芯片,另外考慮到IP驗(yàn)證環(huán)境開發(fā)過類似的test,很多公司希望在SOC環(huán)境中能夠復(fù)用這些test,那么一套基于UVM的SOC驗(yàn)證環(huán)境就非常有必要。 在我們SOC V3.0環(huán)境中,我們集成了基于UVM的SOC驗(yàn)證環(huán)境,用戶在拿到我們代碼后,可以通過仿真了解了UVM是和如何SOC協(xié)同完成SOC驗(yàn)證。
基于UVM的SOC驗(yàn)證環(huán)境 基于Formal的驗(yàn)證方法學(xué) 采用simulation 只能打到部分的場景,這個過程不免有些bug遺漏。基于數(shù)學(xué)推算的Formal 可以完美的解決這個問題。
在我們SOC V3.0中我們集成了一個基本的Formal驗(yàn)證環(huán)境,方便大家理解Formal驗(yàn)證的思想。
完善設(shè)計流程 芯片的前端設(shè)計涉及到語法檢查,綜合以及形式驗(yàn)證。在SOC V3.0 里面,我們提供了語法檢查,綜合以及形式驗(yàn)證的腳本及相關(guān)的工藝庫文件。
綜合過程
形式驗(yàn)證
我們還做了哪些事情?
除上述之外,我們還在SOC V3.0中集成了SOC V1.1的改動:
補(bǔ)全了I2C_DEV 和UART_DEV;
2. 實(shí)現(xiàn)C代碼中字符串打印;
3. 完善的QSPI驗(yàn)證計劃,驗(yàn)證用例和coverage數(shù)據(jù);
4. 提供了QSPI 和CNN的問題代碼,讓大家在debug中理解項(xiàng)目。
編輯:黃飛
-
芯片
+關(guān)注
關(guān)注
453文章
50405瀏覽量
421811 -
集成電路
+關(guān)注
關(guān)注
5381文章
11385瀏覽量
360859 -
PWM
+關(guān)注
關(guān)注
114文章
5144瀏覽量
213401 -
soc
+關(guān)注
關(guān)注
38文章
4122瀏覽量
217937 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
492瀏覽量
27478
原文標(biāo)題:SOC3.0有哪些東西?
文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論