關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 八通道多協(xié)議串行通信控制器的功能驗(yàn)證

八通道多協(xié)議串行通信控制器的功能驗(yàn)證

作者: 時(shí)間:2009-04-17 來(lái)源:網(wǎng)絡(luò) 收藏
0 引言
集成電路設(shè)計(jì)過(guò)程中,占據(jù)了設(shè)計(jì)工作量的70%。的精確程度直接影響流片后邏輯的正確率,直接關(guān)系到芯片設(shè)計(jì)的成敗。另一方面,提高工作的效率,將對(duì)縮短整個(gè)芯片的設(shè)計(jì)周期、減少產(chǎn)品上市時(shí)間具有非常重要的意義。
隨著集成電路進(jìn)入數(shù)百萬(wàn)門(mén)ASIC、可復(fù)用的知識(shí)產(chǎn)權(quán)和系統(tǒng)芯片的時(shí)代,對(duì)驗(yàn)證環(huán)境的開(kāi)發(fā)以及使用效率、模塊化、層次化、可配置性和可復(fù)用性提出了更高的要求。本文以一款八芯片為載體,介紹了基于總線(xiàn)模型的驗(yàn)證方法,該方法具有一定通用性。

1 芯片簡(jiǎn)介、驗(yàn)證計(jì)劃及驗(yàn)證策略
1.1 芯片簡(jiǎn)介

(以下稱(chēng))用于實(shí)現(xiàn)高級(jí)鏈路控制的高速通信。該芯片支持同步、異步協(xié)議、HDLC/SDLC等協(xié)議,可以在Intel總線(xiàn)模式和Motorola總線(xiàn)模式下使用,是為電信業(yè)務(wù)特別優(yōu)化的串行通信控制器,廣泛用于時(shí)分復(fù)用通信應(yīng)用系統(tǒng),如時(shí)分分組交換網(wǎng)絡(luò),局域網(wǎng)網(wǎng)關(guān)、網(wǎng)橋等。
該通信控制器的總體結(jié)構(gòu)如圖1所示,按照功能原理,其硬件結(jié)構(gòu)可分為兩個(gè)組成部分:總線(xiàn)接口和串行控制電路??偩€(xiàn)接口包括16位數(shù)據(jù)總線(xiàn)(DO~D15)、9位地址總線(xiàn)(A0~A8)、控制輸入信號(hào)、終端請(qǐng)求輸出信號(hào)、直接內(nèi)存存取(direct memory access,DMA)接口信號(hào)以及地址鎖存允許(address latch enable,ALE)信號(hào);串行通道控制電路包括8個(gè)相同的、獨(dú)立的全雙工串行接口(串行通道0~7)。每個(gè)通道又包括控制邏輯和接收發(fā)送FIFO??刂七壿嬛饕遣ㄌ芈拾l(fā)生器(BRG),數(shù)字鎖相環(huán)(DPLL),時(shí)隙分配電路(TSA),協(xié)議控制電路,定時(shí)器和編解碼電路等模塊。同時(shí),該通信控制器具有一個(gè)28位的可配置輸入、輸出全局端口(PA0-7,PB0-7,PC0-7,PDO-3)。

本文引用地址:http://2s4d.com/article/163855.htm

1.2 驗(yàn)證策略分析及驗(yàn)證計(jì)劃制定
該芯片的驗(yàn)證難點(diǎn)在于,通信控制器支持的協(xié)議多,功能復(fù)雜,各種劃分方式以及功能的排列組合數(shù)量非常多。具體而言,通信控制器有8個(gè)通道,每個(gè)通道有32個(gè)8位配置寄存器,平均每個(gè)配置寄存器約有10種配置值,寄存器配置排列組合的數(shù)量更是驚人。
針對(duì)上述難點(diǎn),所采取的驗(yàn)證策略是,芯片的功能驗(yàn)證分類(lèi)按數(shù)據(jù)傳送協(xié)議將驗(yàn)證分為異步、同步、HDLC和并口四類(lèi),每一類(lèi)按照總線(xiàn)接口又分為Intel總線(xiàn)和Motorola總線(xiàn),再按照數(shù)據(jù)傳送類(lèi)型分為中斷模式和DMA模式,基于該分類(lèi)方法驗(yàn)證通信控制器的各項(xiàng)可配置功能,如CRC檢驗(yàn)、奇偶校驗(yàn)、流量控制等。
在驗(yàn)證層次上,由于組成通信控制器芯片的8個(gè)通道是獨(dú)立的、相同的,故采取先在子系統(tǒng)級(jí)驗(yàn)證一個(gè)單通道的數(shù)據(jù)傳送,繼而再驗(yàn)證全芯片8個(gè)通道的數(shù)據(jù)傳送的層次化驗(yàn)證方法,而如果每一個(gè)層次都需要構(gòu)造一個(gè)測(cè)試平臺(tái),任務(wù)就非常復(fù)雜。本文采取在兩個(gè)層次采用統(tǒng)一的驗(yàn)證環(huán)境的方法,從而降低了驗(yàn)證的復(fù)雜度,大大提高驗(yàn)證效率,縮短整個(gè)芯片的設(shè)計(jì)周期。開(kāi)始驗(yàn)證之前首先需要制定一個(gè)完整的驗(yàn)證計(jì)劃。驗(yàn)證計(jì)劃的制定要針對(duì)設(shè)計(jì)中可能出現(xiàn)的問(wèn)題,并涵蓋設(shè)計(jì)要實(shí)現(xiàn)的所有功能。通信控制器需要驗(yàn)證各種數(shù)據(jù)傳輸操作和一些其他功能。表1列出了該通信控制器的部分驗(yàn)證計(jì)劃,完整的驗(yàn)證計(jì)劃遠(yuǎn)比表1龐大,限于篇幅在此不一一給出。

2 驗(yàn)證方案
2.1 采用總線(xiàn)功能模型構(gòu)造驗(yàn)證平臺(tái)

總線(xiàn)功能模型(BFM)是近年在測(cè)試平臺(tái)中廣泛采用的一種能提高驗(yàn)證重用效率的激勵(lì)生成方法??偩€(xiàn)功能模型的作用是通過(guò)封裝低層總線(xiàn)的時(shí)序,向高層提供一個(gè)調(diào)用接口??偩€(xiàn)功能模型的構(gòu)建有狀態(tài)機(jī)和任務(wù)庫(kù)兩種方式。通信控制器的驗(yàn)證采用了任務(wù)庫(kù)的方式來(lái)進(jìn)行總線(xiàn)功能模型設(shè)計(jì)。采用模塊的封裝方式把內(nèi)部操作的細(xì)節(jié)封裝起來(lái),通過(guò)“模塊名,任務(wù)名”的方式復(fù)用模塊,從而建立結(jié)構(gòu)化的testbench?;诳偩€(xiàn)功能模型的驗(yàn)證環(huán)境如圖2所示。

驗(yàn)證環(huán)境的下層是BFM和通信控制器邏輯電路組成的物理層。在這一層,BFM與通信控制器的引腳連接,根據(jù)總線(xiàn)協(xié)議驅(qū)動(dòng)總線(xiàn)信號(hào),同時(shí)將這種驅(qū)動(dòng)行為抽象成能夠被上層調(diào)用的任務(wù)(task)。上層是testcase組成的測(cè)試層,testcase根據(jù)所驗(yàn)證的功能產(chǎn)生測(cè)試數(shù)據(jù),通過(guò)調(diào)用下層提供的任務(wù),將產(chǎn)生的測(cè)試數(shù)據(jù)激勵(lì)輸入到被測(cè)電路中并監(jiān)測(cè)數(shù)據(jù)處理結(jié)果??梢钥闯觯珺FM通過(guò)對(duì)總線(xiàn)信號(hào)的時(shí)序進(jìn)行抽象和封裝,使測(cè)試環(huán)境有了層次化的結(jié)構(gòu)特點(diǎn)。這種層次化的特點(diǎn)能提高測(cè)試環(huán)境的開(kāi)發(fā)效率和可重用性,從而滿(mǎn)足驗(yàn)證通信控制器的如下要求。
首先,驗(yàn)證環(huán)境層次化的結(jié)構(gòu)保證了在各個(gè)層次的驗(yàn)證模塊開(kāi)發(fā)可以同時(shí)進(jìn)行,提高開(kāi)發(fā)效率。BFM將通信控制器測(cè)試環(huán)境的開(kāi)發(fā)強(qiáng)度和復(fù)雜程度分散到了物理層和測(cè)試層兩個(gè)不同的抽象層。在物理層,BFM專(zhuān)注于實(shí)現(xiàn)Intel總線(xiàn)或者M(jìn)otorola總線(xiàn)的各個(gè)時(shí)序操作;在測(cè)試層,testcase專(zhuān)注于針對(duì)通信控制器待驗(yàn)證的功能來(lái)設(shè)計(jì)測(cè)試向量。上層的testease和下層的BFM在定義了任務(wù)接口后,物理層和測(cè)試層的測(cè)試模塊可以進(jìn)行同時(shí)并行開(kāi)發(fā)。其次,由于testease和BFM處于兩個(gè)不同層次,所以可以在各自的層次上實(shí)現(xiàn)復(fù)用。處于上層的testcase,可以在后仿真階段直接復(fù)用;而處于下層的BFM不僅可以復(fù)用在后仿真階段,在引腳接口信號(hào)通信協(xié)議相類(lèi)似的項(xiàng)目開(kāi)發(fā)中亦可重用。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉