www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 芯片驗(yàn)證工程師
[導(dǎo)讀]目錄IPlevel驗(yàn)證中斷信號(hào)生成符合預(yù)期status/mask/clear中斷信息查詢SoClevel驗(yàn)證集成連線成功進(jìn)入對(duì)應(yīng)的interrupthandler接反異步脈沖中斷集成中斷仲裁CPU自身的中斷中斷從角色上分為生成端和接收端,從驗(yàn)證角度上可以理解為IP級(jí)驗(yàn)證和SoC級(jí)...

目錄


  • IP level驗(yàn)證

    • 中斷信號(hào)生成符合預(yù)期

    • status/mask/clear

    • 中斷信息查詢

  • SoC level驗(yàn)證

    • 集成連線

    • 成功進(jìn)入對(duì)應(yīng)的interrupt handler

    • 接反

    • 異步脈沖中斷集成

    • 中斷仲裁

    • CPU自身的中斷



中斷從角色上分為生成端和接收端,從驗(yàn)證角度上可以理解為IP級(jí)驗(yàn)證和SoC級(jí)別驗(yàn)證。處理中斷的接收端一般都為CPU,而CPU內(nèi)部也可以生成中斷,比如計(jì)時(shí)器中斷,或者軟件中斷。這個(gè)時(shí)候CPU即是發(fā)起端也是接收端。


IP level驗(yàn)證

1、中斷信號(hào)生成符合預(yù)期

一般CPU會(huì)接收到所有的中斷信號(hào),從軟件角度進(jìn)入中斷處理程序(interrupt handler)來(lái)處理這些中斷,需要注意表明中斷觸發(fā)的信號(hào)形式可以有多種,主要的有兩種:高電平觸發(fā)和脈沖觸發(fā)。需要保證給出中斷線的各個(gè)模塊按specification要求給出高電平或脈沖。有些公司把這種形式用interrupt mode來(lái)描述。


2、status/mask/clear

主流的中斷設(shè)計(jì)都會(huì)涵蓋3中類(lèi)型的寄存器:status,mask,clear

mask驗(yàn)證分為mask和unmask,mask掉的即使有中斷也發(fā)不出來(lái),unmask如實(shí)把中斷發(fā)出去。

clear驗(yàn)證,中斷產(chǎn)生后可以被清掉,同時(shí)要保證清掉后中斷仍然可以再次生成。

status驗(yàn)證,一般存的都是經(jīng)過(guò)mask/unmask處理后的中斷,看是否符合預(yù)期。一旦中斷被清掉,看是否跟著變化。


3、中斷信息查詢

從軟件的角度講,一旦有中斷,就會(huì)進(jìn)入中斷處理程序。中斷處理程序一般會(huì)訪問(wèn)一堆寄存器了解情況,這個(gè)時(shí)候從驗(yàn)證角度來(lái)看,一旦有中斷產(chǎn)生,需要驗(yàn)證所有的相關(guān)的寄存器是否正確,一般主要是狀態(tài)寄存器。


SoC level驗(yàn)證


1、集成連線

主要查看是否有漏接或者接錯(cuò)的情況。一般需要有人整理出發(fā)起端和接收端對(duì)應(yīng)的信號(hào)。然后以獨(dú)熱碼的方式force發(fā)起端的信號(hào),查看所有的接收端信號(hào),理應(yīng)只有一個(gè)對(duì)應(yīng)的信號(hào)拉起。一般中斷的對(duì)應(yīng)關(guān)系有interrupt id來(lái)做映射??梢猿橄蟪梢粋€(gè)bus function model去替換CPU,方便每個(gè)集成的人員去使用和檢查。


2、成功進(jìn)入對(duì)應(yīng)的interrupt handler

在soc level一旦發(fā)起端生成了正確的中斷,接收端/CPU需要進(jìn)入對(duì)應(yīng)的中斷處理程序(interrupt handler)。這個(gè)需要從軟件的角度做end to end的測(cè)試。


3、接反

由于發(fā)起端和接受端針對(duì)中斷信號(hào)形式不一定一樣。比如發(fā)起端認(rèn)為中斷產(chǎn)生時(shí)信號(hào)為低電平,而接收端認(rèn)為是高電平。這個(gè)時(shí)候在soc集成的時(shí)候需要給發(fā)起端的中斷信號(hào)加上取反的邏輯。一旦取反沒(méi)有做,整個(gè)SoC一上電,CPU剛使能中斷控制器,就會(huì)不斷進(jìn)入中斷處理程序,陷入死循環(huán)。

具體驗(yàn)證方法挺簡(jiǎn)單的,需要有一條軟件的程序,使能所有的中斷源,看是否會(huì)陷入死循環(huán)。


4、異步脈沖中斷集成

從設(shè)計(jì)的角度來(lái)看,如果接收端的頻率比發(fā)起端慢,發(fā)起端就不應(yīng)該用脈沖的形式,一旦發(fā)起端和接收端的時(shí)鐘不是同步的,必然會(huì)產(chǎn)生接收端采樣不到發(fā)起端中斷的情況。這個(gè)需要在收集中斷信息的時(shí)候就提出來(lái)進(jìn)行修改。

而且即使接收端的頻率比發(fā)起端快,在項(xiàng)目后期,后端為了收斂時(shí)序的時(shí)候,很有可能會(huì)出現(xiàn)降低接收端頻率的操作。異步脈沖存在相當(dāng)大的風(fēng)險(xiǎn)。


5、中斷仲裁

當(dāng)有多個(gè)中斷同時(shí)觸發(fā),為了區(qū)分到底優(yōu)先處理哪個(gè)中斷。一般會(huì)給每個(gè)中斷源分配一個(gè)優(yōu)先級(jí),然后硬件依次處理所有的中斷。更加復(fù)雜的IP甚至?xí)懈鞣N工作模式,工作模式有各自的中斷,工作模式本身也有優(yōu)先級(jí)的區(qū)分。比如armA系列的exception level 0~3,或者risc-v的機(jī)器模式和超級(jí)用戶模式。

所有的仲裁結(jié)果需要驗(yàn)證人員來(lái)檢查是否符合預(yù)期??梢栽赾ycle級(jí)別的同時(shí)force所有中斷,如果有工作模式的區(qū)別還需要軟件先配置好具體的工作模式。這里需要驗(yàn)證人員在軟件程序和驗(yàn)證環(huán)境之間構(gòu)造通信機(jī)制,軟件告訴驗(yàn)證環(huán)境什么時(shí)候可以force相關(guān)信號(hào)。

如果force所有中斷,其實(shí)潛在了還測(cè)試了接收端是否有能力pending那么多中斷,依次處理。

不過(guò)實(shí)現(xiàn)中斷仲裁的一般是作為發(fā)起端的CPU,而CPU一般是第三方給的,所以其實(shí)可以默認(rèn)沒(méi)有問(wèn)題。


6、CPU自身的中斷

CPU一般作為中斷的接收端,但是CPU自身的模塊也會(huì)產(chǎn)生中斷比如計(jì)時(shí)器中斷,軟件中斷,所以CPU也可以當(dāng)做中斷的發(fā)起端。一般SoC的CPU都來(lái)自第三方,可以認(rèn)為不存在bug,所以CPU作為發(fā)起端需要驗(yàn)證的情況個(gè)人認(rèn)為分為以下兩種:

  1. 作為外部中斷復(fù)雜場(chǎng)景的干擾項(xiàng)

  2. 為原型認(rèn)證/firmware團(tuán)隊(duì)嘗試配置一下這些中斷,保障基本的使用流程

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉