亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式系統(tǒng)芯片的軟硬件協(xié)同仿真環(huán)境設(shè)計(jì)

        2011-06-22 08:19:06官楓林習(xí)友寶劉斌
        關(guān)鍵詞:時(shí)序代碼架構(gòu)

        官楓林,習(xí)友寶,劉斌

        (1.電子科技大學(xué)電子工程學(xué)院,成都610000;2.海思半導(dǎo)體成都研究所)

        官楓林(碩士研究生),研究方向?yàn)锳SIC芯片設(shè)計(jì)與驗(yàn)證。

        1 概 述

        隨著微電子產(chǎn)業(yè)日新月異的發(fā)展,IC設(shè)計(jì)的規(guī)模越來越大,集成度越來越高,已經(jīng)足以將一套完整的系統(tǒng)集成到一塊小小的芯片中。在這種形勢(shì)下,SoC技術(shù)應(yīng)運(yùn)而生[1]。隨著IP核復(fù)用技術(shù)的出現(xiàn),SoC芯片的設(shè)計(jì)已經(jīng)不再是很大的難題,SoC芯片的驗(yàn)證已逐漸取代芯片設(shè)計(jì)成為芯片開發(fā)階段的瓶頸?,F(xiàn)階段SoC芯片設(shè)計(jì)的正確性要經(jīng)過前仿真、后仿真以及FPGA驗(yàn)證來保證。前仿真包括單元驗(yàn)證、集成驗(yàn)證和系統(tǒng)驗(yàn)證,后仿真包括帶反標(biāo)時(shí)序SDF的網(wǎng)表仿真。其中系統(tǒng)驗(yàn)證和后仿真都需要關(guān)注SoC芯片的全局功能,這就涉及SoC的軟件仿真和硬件仿真的協(xié)同問題。本文以DSM模型替代ARM核,以VMM驗(yàn)證方法學(xué)和VCS仿真器為基礎(chǔ),搭建一個(gè)可重用性高、調(diào)試和定位問題方便、仿真真實(shí)性高、軟件和硬件能夠很好配合的協(xié)同驗(yàn)證平臺(tái)。

        軟硬件協(xié)同仿真架構(gòu)如圖1所示,協(xié)同驗(yàn)證分軟件驗(yàn)證環(huán)境和硬件驗(yàn)證環(huán)境兩部分。軟件代碼通常由C/C++和匯編語(yǔ)言混合編寫而成,然后由軟件編譯器轉(zhuǎn)換成二進(jìn)制格式,最后將該二進(jìn)制文件加載到SoC芯片的存儲(chǔ)器中去,芯片boot啟動(dòng)時(shí)由ARM核調(diào)用軟件代碼并執(zhí)行;硬件環(huán)境基于VMM驗(yàn)證方法學(xué)進(jìn)行搭建,下文中會(huì)有詳細(xì)介紹。協(xié)同仿真就是通過事件和命令,使用一些機(jī)制,在這兩個(gè)環(huán)境間進(jìn)行控制。

        2 DSM模型的使用

        1 軟硬件協(xié)同仿真架構(gòu)

        SoC芯片的CPU一般選用ARM,協(xié)同驗(yàn)證平臺(tái)中ARM可以用seamless CVE模型替代,或者直接選用ARM網(wǎng)表。采用seamless CVE模型進(jìn)行仿真,雖然速度比較快,但需要替換設(shè)計(jì)中的Memory模型,且必須使用CVE自己的模型,這樣與芯片真實(shí)情況有出入;采用ARM網(wǎng)表進(jìn)行仿真,速度比較慢,調(diào)試也不方便,但是更接近實(shí)際情況。相比于這兩者,本文采用的DSM(DesignSimulation Model)模型由ARM公司提供,能完全模擬ARM的接口和時(shí)序行為,具有更高的真實(shí)性,而且 DSM無需更換存儲(chǔ)器模型和外掛仿真工具,使驗(yàn)證DUT與實(shí)際芯片完全一致,即不必為了滿足仿真需求修改部分RTL代碼。此外,DSM環(huán)境仿真過程中輸出的LOG文件log.eis真實(shí)記錄每個(gè)周期執(zhí)行的CPU代碼和操作。根據(jù)該文件能快速定位軟件問題。CVE環(huán)境通過調(diào)用XRAY軟件調(diào)試工具,雖然可以進(jìn)行單步調(diào)試、設(shè)置斷點(diǎn)等操作,但出現(xiàn)軟件問題時(shí)定位沒有DSM環(huán)境那么直觀、方便。

        DSM是ARM公司提供的設(shè)計(jì)仿真模型,該模型直接從ARM公司的RTL代碼經(jīng)過加密處理轉(zhuǎn)化而來,具有同真實(shí)RTL代碼完全一致的功能和特性。在時(shí)序仿真過程中,還能直接對(duì)該模型反標(biāo)時(shí)序。在仿真過程中,將模型WRAPPER——也就是模型的最頂層——例化到RTL代碼中,仿真器在仿真過程中觸發(fā)WRAPPER,請(qǐng)求Model Manager動(dòng)態(tài)調(diào)用模型庫(kù)進(jìn)行仿真。Model Manager響應(yīng)請(qǐng)求動(dòng)態(tài)調(diào)用模型庫(kù)文件,達(dá)到功能仿真的目的。由此可以看出,Model Manager在仿真過程中充當(dāng)中介角色,將模型和仿真器動(dòng)態(tài)連接在一起。DSM模型的工作原理如圖2所示。

        圖2 DSM模型工作原理

        3.軟件仿真

        ARM匯編器工具ARMASM、ARM的C/C++編譯工具 ARMCC和 ARMCPP,以及 ARM的鏈接工具ARMLINK,利用ARM工具對(duì)軟件代碼進(jìn)行編譯鏈接生成的文件格式為ELF格式(Executable Link File),原始代碼在文件中的位置通過SCATTER文件指定。ARM提供了fromelf工具,該工具將ELF格式的文件根據(jù)運(yùn)行時(shí)域轉(zhuǎn)化為二進(jìn)制文件,以便在仿真起始階段將代碼放到指定的Memory中。在makefile中將ELF格式轉(zhuǎn)化為BIN文件的具體實(shí)例如下:

        上述語(yǔ)句表示將software.elf文件轉(zhuǎn)化為二進(jìn)制文件放到當(dāng)前目錄。

        在軟硬件協(xié)同仿真的初始階段,需要將生成的二進(jìn)制文件導(dǎo)入相應(yīng)的存儲(chǔ)器中,這通過Verilog提供的系統(tǒng)函數(shù)fread實(shí)現(xiàn)。下面是一個(gè)將二進(jìn)制文件導(dǎo)入存儲(chǔ)器的實(shí)例,先通過$fopen函數(shù)讀出文件地址,然后通過$fread函數(shù)將指定地址的文件數(shù)據(jù)傳給變量inst_file_word,最后將變量inst_file_word中的值傳給存儲(chǔ)器中的相應(yīng)地址單元。在DSM仿真中都需要一個(gè)這樣的“橋梁”文件,將軟件和邏輯鏈接起來。

        軟硬件協(xié)同仿真的軟件結(jié)構(gòu)如圖3所示,系統(tǒng)BOOT起來后直接跳轉(zhuǎn)到main()函數(shù)進(jìn)行單進(jìn)程任務(wù),如果出現(xiàn)中斷異常,則boot代碼中根據(jù)中斷向量表地址跳轉(zhuǎn)到中斷處理函數(shù)。中斷處理函數(shù)中包含對(duì)各中斷的處理,main()函數(shù)中調(diào)用各個(gè)模塊的TC(Test Case)函數(shù),TC調(diào)用底層的驅(qū)動(dòng)代碼。驅(qū)動(dòng)代碼的編寫則基于各個(gè)模塊的寄存器定義文件和全局變量。該軟件結(jié)構(gòu)清晰可控,便于各測(cè)試用例TC的并行提交和管理。

        圖3 軟件結(jié)構(gòu)圖

        4 構(gòu)建基于VMM的軟硬件協(xié)同仿真平臺(tái)

        在軟硬件協(xié)同仿真環(huán)境中,完全可以采用基于VMM的驗(yàn)證架構(gòu),但軟硬件協(xié)同仿真環(huán)境較一般的純邏輯集成驗(yàn)證環(huán)境難度大,主要體現(xiàn)在軟硬件協(xié)同仿真環(huán)境因?yàn)榉抡孢^程中有軟件代碼在執(zhí)行,同時(shí)驗(yàn)證環(huán)境也在執(zhí)行,因此如何將軟件代碼和硬件環(huán)境協(xié)調(diào)起來是關(guān)鍵。在仿真過程中,軟件和驗(yàn)證環(huán)境之間需要建立一種通信機(jī)制,如可以通過中斷通信,也可以通過某一特殊信號(hào)線通信。軟硬件協(xié)同仿真環(huán)境中,某一項(xiàng)功能點(diǎn)的測(cè)試常常需要軟硬件兩條測(cè)試用例TC,軟件TC需要驅(qū)動(dòng)代碼,而一般的集成測(cè)試用例不需要軟件TC和驅(qū)動(dòng)。典型的VMM的驗(yàn)證架構(gòu)如圖4所示。

        驗(yàn)證的總體架構(gòu)是分層次的,層次化的驗(yàn)證環(huán)境具有很好的擴(kuò)展性和重用性,各個(gè)層次完成自己特定的功能。Test層又叫TC層,主要完成數(shù)據(jù)激勵(lì)的定義、環(huán)境的控制工作。Generator層定義的數(shù)據(jù)“模板”,產(chǎn)生各種數(shù)據(jù)激勵(lì)。Function Layer層完成輸入和輸出數(shù)據(jù)激勵(lì)的收集,進(jìn)行自動(dòng)比對(duì)。Command Layer層主要按接口時(shí)序收發(fā)數(shù)據(jù),同時(shí)將一些底層方法(如數(shù)據(jù)讀寫等)進(jìn)行封裝。Signal Layer層主要是完成接口信號(hào)連接工作。不同的人關(guān)注不同層次,一般的驗(yàn)證人員只需要在Test層工作,編寫測(cè)試向量。只有搭建環(huán)境的驗(yàn)證人員才需了解各個(gè)層次。驗(yàn)證架構(gòu)的層次化降低了驗(yàn)證環(huán)境復(fù)雜度和環(huán)境維護(hù)成本,提升了驗(yàn)證效率。

        圖4 傳統(tǒng)VMM驗(yàn)證環(huán)境架構(gòu)

        本文基本采用圖4的驗(yàn)證環(huán)境架構(gòu)的思路,并在其基礎(chǔ)上進(jìn)行修改,添加相應(yīng)組件。VMM驗(yàn)證環(huán)境架構(gòu)如圖5所示,環(huán)境數(shù)據(jù)流從測(cè)試用例Test Case開始,經(jīng)過數(shù)據(jù)包產(chǎn)生器Generator和數(shù)據(jù)處理器Transactor送給BFM處理,BFM把驗(yàn)證環(huán)境的抽象層次從信號(hào)級(jí)抽象到Transaction級(jí),在實(shí)現(xiàn)上只做時(shí)序轉(zhuǎn)換功能,利于重用。從發(fā)送方向看,BFM只負(fù)責(zé)將接收到的數(shù)據(jù)發(fā)送給DUT;從接收方向看,BFM只負(fù)責(zé)將接收到的數(shù)據(jù)發(fā)給Transactor,實(shí)現(xiàn)任何數(shù)據(jù)的解析。Monitor抓取接口上的信號(hào),并分析各組控制信號(hào)之間的邏輯時(shí)序關(guān)系,檢查其是否滿足協(xié)議所規(guī)定的邏輯時(shí)序關(guān)系,同時(shí)把監(jiān)測(cè)到的數(shù)據(jù)信號(hào)轉(zhuǎn)化為數(shù)組送到RM解析。與BFM一樣,Monitor只實(shí)現(xiàn)時(shí)序轉(zhuǎn)換功能,不做數(shù)據(jù)解析。從Monitor上采樣數(shù)據(jù)再送入RM,是基于重用的角度考慮。參考模型(RM)用于預(yù)測(cè)數(shù)據(jù)響應(yīng)[2],Check組件將RM的輸出數(shù)據(jù)與被觀測(cè)響應(yīng)進(jìn)行比較。

        圖5 VMM驗(yàn)證環(huán)境架構(gòu)

        該驗(yàn)證環(huán)境架構(gòu)還添加斷言(Assertion)來提高觀察和定位設(shè)計(jì)問題的能力。斷言是檢查DUT中信號(hào)行為是否正確的觀察器,用來描述被預(yù)期的特定性質(zhì)。本文采用的斷言為SVA斷言語(yǔ)言,可以應(yīng)用到設(shè)計(jì)過程的各個(gè)階段,還可以統(tǒng)計(jì)功能覆蓋率。

        5 基于DSM的軟硬件協(xié)同仿真調(diào)試

        由于DSM模型在仿真過程中,會(huì)將ARM執(zhí)行的每一步動(dòng)作打印出來,生成一個(gè)log.eis文件,由該文件給出的信息定位問題非常方便,如圖6所示。

        圖中第1列表示程序執(zhí)行到ARM的第幾個(gè)時(shí)鐘周期。第2列是ARM執(zhí)行的指令類型。第3列的CCFAIL表示條件執(zhí)行時(shí)是否執(zhí)行,如果條件執(zhí)行了,則不打印CCFAIL,反之則打印出CCFAIL。第4列是 ARM執(zhí)行的機(jī)器碼。最后幾列是詳細(xì)的ARM執(zhí)行的動(dòng)作,從圖中可以看出ARM執(zhí)行哪一步指令,將哪些數(shù)據(jù)讀寫到哪些地址。對(duì)應(yīng)的仿真波形圖如圖7所示??梢钥闯?log.eis完整無誤地將ARM執(zhí)行的動(dòng)作打印了出來。

        圖6 log.eis文件

        圖7 仿真波形

        結(jié) 語(yǔ)

        設(shè)計(jì)驗(yàn)證是SoC設(shè)計(jì)的關(guān)鍵技術(shù)之一,貫穿整個(gè)SoC設(shè)計(jì)過程[3]。隨著 SoC技術(shù)的發(fā)展,軟硬件協(xié)同驗(yàn)證的效率和正確性對(duì)整個(gè)SoC設(shè)計(jì)的影響也越來越大。相比傳統(tǒng)的軟硬件協(xié)同環(huán)境,本文介紹的環(huán)境速度快,更真實(shí),調(diào)試也更加容易。該環(huán)境可繼承性好,能夠?yàn)楦鞣NSoC項(xiàng)目開發(fā)驗(yàn)證所用。

        [1]鮑華,洪一,郭二輝.面向SoC的軟硬件協(xié)同驗(yàn)證平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)工程,2009(8).

        [2]Bergeron Janick.Verification Methodology ManuaL For SystemVerilog[M].北京航空航天大學(xué)出版社,2007.

        [3]幸強(qiáng).一種基于ISS的軟硬件協(xié)同驗(yàn)證環(huán)境[J].現(xiàn)代電子技術(shù),2007(8).

        [4]李建成,莊釗文,張亮.SoC設(shè)計(jì)的軟硬件協(xié)同驗(yàn)證研究[J].半導(dǎo)體技術(shù),2007(10).

        [5]馮博凌,李平,王憶文.基于混合建模的SoC軟硬件協(xié)同驗(yàn)證平臺(tái)研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(5).

        [6]申敏,曹聰玲.基于SoC設(shè)計(jì)的軟硬件協(xié)同驗(yàn)證技術(shù)研究[J].廣東通信技術(shù),2009(2).

        猜你喜歡
        時(shí)序代碼架構(gòu)
        時(shí)序坐標(biāo)
        基于FPGA的RNN硬件加速架構(gòu)
        基于Sentinel-2時(shí)序NDVI的麥冬識(shí)別研究
        功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
        汽車工程(2021年12期)2021-03-08 02:34:30
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
        一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
        電子制作(2016年15期)2017-01-15 13:39:08
        无码免费一区二区三区| 老女人下面毛茸茸的视频| 精品无码久久久久久久久水蜜桃| 亚洲一区二区三区无码国产| 九九免费在线视频| 国产美女遭强高潮网站| 精品综合久久久久久99| 小黄片免费在线播放观看| 免费无码又爽又高潮视频| 一本久久a久久精品亚洲| 国产91一区二这在线播放| 人妻体体内射精一区中文字幕| 人人妻人人澡人人爽人人dvd| 国产免费丝袜调教视频| 亚洲成a人片在线观看导航| 亚洲人妻御姐中文字幕| 久久亚洲精品情侣| 少妇厨房愉情理伦片免费| av无码一区二区三| 男女激情视频网站免费在线| 久久久久久久极品内射| 国产喷水福利在线视频| 人妻少妇久久精品一区二区| 在线观看日本一区二区三区四区 | 在线观看免费人成视频| 国产精品亚洲午夜不卡| 精品人妻一区二区三区不卡毛片| 国产免费久久精品99久久| 无码专区天天躁天天躁在线| 级毛片无码av| 中文字幕精品亚洲字幕| 国产精品狼人久久久久影院| 欧美精品AⅤ在线视频| 久久精品伊人久久精品伊人| 色综合久久中文娱乐网 | 国产激情视频在线观看首页| 日本在线综合一区二区| 亚洲av乱码一区二区三区按摩| 亚洲av无码乱码国产麻豆穿越| 国产一区二区三区影片| 国精产品一区一区三区|