[go: up one dir, main page]

TWI240531B - Multitasking system level system for Hw/Sw co-verification - Google Patents

Multitasking system level system for Hw/Sw co-verification Download PDF

Info

Publication number
TWI240531B
TWI240531B TW092136736A TW92136736A TWI240531B TW I240531 B TWI240531 B TW I240531B TW 092136736 A TW092136736 A TW 092136736A TW 92136736 A TW92136736 A TW 92136736A TW I240531 B TWI240531 B TW I240531B
Authority
TW
Taiwan
Prior art keywords
hardware
software
verification
verification system
configurable
Prior art date
Application number
TW092136736A
Other languages
English (en)
Other versions
TW200522651A (en
Inventor
Tze-Min Chen
Jr-Lung Jang
Original Assignee
Inst Information Industry
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inst Information Industry filed Critical Inst Information Industry
Priority to TW092136736A priority Critical patent/TWI240531B/zh
Priority to US10/793,919 priority patent/US20050144436A1/en
Publication of TW200522651A publication Critical patent/TW200522651A/zh
Application granted granted Critical
Publication of TWI240531B publication Critical patent/TWI240531B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

1240531 communication protocol)與最上層的裝置驅動程式(device (IP) driver)來完成。其中,中間層的資料通訊協定透過匯 流排包封後已是與OCB spec規格無關。它可以有不同的形 式,包括了 single read/write、buffered (FIFO) read/write、 5 streaming data transfer、DMA data transfer、shared memory communication等等。部分協定必須取決於平台的硬體資 源,例如DMA、FIFO等。 最後為了印證軟體搭配,必須根據及時作業系統 (Real-Time Operation System,RTOS)制定的規格,搭配前 10 者定義的通訊協定撰寫驅動程式。亦即,當硬體設計完成 後,再撰寫單工軟體下去測試驗證硬體功能,成功後即將 晶片設計送去製作,待製作完成,移植多工作業系統上去。 此時,若發現整體系統效率不彰,甚至發生缺陷時,無法 在晶片上去修改硬體,必須再重新製作晶片,其不止增加 15 開發成本,同時延緩晶片推出時間。 另外一種方式,則透過昂貴的軟硬體協同模擬的工 具,在一般電腦或工作站上面同時執行電路模擬與軟體模 擬。但是使用此種方法其缺點在於速度太慢,光是模擬開 機階段就需幾個小時,無法達到實際效益。而且模擬的結 20 果,與實際電路上面驗證時,常會有時脈上的出入,而需 要進一步調整。 針對上述問題,於美國US 2000/5 19659專利案中,提 出一數學演算法來建立軟體與硬體的模型,再利用此一模 型模擬系統軟硬體之行為。其雖可改良單純使用數學模型 1240531 來馬“且的方式,但系統行為的模擬終究無法確切的表現與 際系統的真實狀況’也無法模擬實際時序的情形。、λ 義876專利案中,提出二硬體驗證 之方法與工具,其雖整合了軟硬體之同步驗證, ㈣證之速度與效率,但該專利並未考量到在系統層級 k,待測晶片受軟體層以及系統中其他硬體之影響。 ίο 15 於美國US 2_/4949G7專利案中,提出_㈣硬體整 ^驗證的方法,其係湘-可重複使用之軟體(包含應用程 ’與驅動H),以產生職訊號,再將這些測試訊號傲給 待測電路,並由待測電路之輸出訊號來驗證其結果,雖狹 料利=整合軟硬體同步驗證之因素,但其所考量之軟體 層環境單純,並未考量到該待測電路整合至一系統時,與 作業系統及底層驅動程式的溝通介面,而無法準確驗證實 (V、系、.先之效月b。由上述說明可知,以一軟硬體協同驗證系 統來解決前述之問題實有其必要。 【發明内容】 本發明之主要目的係在提供一種多工系統層級軟硬 體協同驗證系統,俾能同時驗證軟硬體與整個系統的互動 20 情形。 為達成上述目的,本發明提供一種多工系統層級軟硬 體協同驗證系統,其可讓軟硬體同步設計驗證,俾可同時 驗證軟硬體與整個系統的互動情形,其主要包含一驗證系 統硬體平台、一可組態之硬體抽象層、一可組態之驅動程 1240531 式、一作業系統及一可組態之應用程式。該驗證系統硬體 平台包含可抽換之處理器核心、作業系統需要的周邊裝 置、可程式邏輯單元及一矽智財(Silicon Intellectual Property)用來實現一完整系統;該可組態之硬體抽象層係 5 透過對硬體的抽象描述,以降低和下層之該驗證系統硬體 平台的耦合;該可組態之驅動程式係透過該可組態之硬體 抽象層,以驅動該驗證系統硬體平台之硬體;該作業系統 執行於該驗證糸統硬體平台’以提供一作業系統環境’俾 讓應用程式於其上執行;該可組態之應用程式用於執行該 10 驗證系統硬體平台之相關功能。 【實施方式】 有關本發明之多工系統層級軟硬體協同驗證系統之一 較佳實施例,請先參照圖2所示之系統方塊圖,其提供軟硬 15 體同步設計驗證環境,俾可同時驗證軟硬體與整個系統的 互動情形,其包括一驗證系統硬體平台210、一可組態之硬 體抽象層 220(Configurable Hardware Abstract Layer)、一可 組態之驅動程式230(Configurable Device Driver)、一作業 系統240(〇peration System)、一可組態之應用程式 20 250(Configurable Application)、一監視軟體 260(Monitor Software)及一石夕智財相關應用程式及系統效能監視器 270 c 圖3係該前述驗證系統硬體平台210之方塊圖,其包含一 固定硬體電路310及一可程式邏輯單元380 (Programming 1240531
Logic Unit)。該可程式邏輯單元380可為一 FPGA、一 CPLD 或是複數個FPGA所形成的陣列,其包含一匯流排仲裁單元 320(Arbiter)、一 虛擬功能元件 330(Virtual function component)、一 橋接器 340(Bus Bridge)、一 監控器 5 350(Monitor)、一 矽智財 360及一匯流排 370。 該矽智財360係一設計者所設計並等待驗證之電路,其 可使用硬體描述語言(Hardware Description Language, HDL)VHDL或是Verilog所寫成,再經由一個合成器予以合 成及一個P&R工具予以拉線,以產生一可代表該電路之電 10路檔案,其後再將該檔案下載至該可程式邏輯單元380中, 即為等待驗證之實際電路。該虛擬功能元件33〇係自動產 生,用來模擬完整系統的其他周邊對系統資源的需求,使 模擬過程中接近實際硬體電路的情形。 該匯流排仲裁單元320、橋接器34〇及監控器35〇則可經 15由1P設記者去設定參數而自動產生匯流排仲裁單元和橋接 器"玄匯*排仲裁單元320係用來仲裁一該匯流排37〇之存 取次序,該匯流排370可為AMBA匯流排、pi匯流排。該橋 接器340係用來連結該匯流排37〇與該矽智財36〇。該監控器 350係用來監控該矽智財360行為與資源使用情形。 20 圖4係該固定硬體電路3 1〇之方塊圖,其包含一隨機存取 記憶體410、一非揮發性記憶體42〇、一乙太網路模組43〇、 一記憶體控制裝置440、一處理器模組45〇、一中斷控制器 460、一般輸出/輸入埠470、一計時器模組48〇及一萬用非 同步傳收器 49〇(Unlversal Asynchronous Receiver 1240531
Transceiver,UART)。該固定硬體電路31 〇則必須至少包含 上述這幾個單元,才足夠讓驗證該矽智財360之作業系統軟 體執行,同時提供系統效能監控軟體執行時的需求。 該處理器模組450可依據設計者之需求,選用合適之處 5 理器核心’例如選用ARM7、ARM9、ARM9TDMI或MIPS 等習知之處理器核心,或是自行發展之處理器核心。該非 揮發性記憶體420可為快閃記憶體(Flash memory),以彳諸存 該作業系統240、可組態之應用程式250及驅動程式及相關 的應用程式,俾執行多工系統層級軟硬體協同驗證。該非 10 揮發性記憶體420甚至可儲存該矽智財360之電路檔案,以 便下載至該可程式邏輯單元380中。該隨機存取記憶體410 則提供該作業系統240、可組態之應用程式250及驅動程式 及相關的應用程式執行時暫時儲存之使用。 圖5係該監控器350(Monitor)之方塊圖,其分為五組工具: 15 一匯流排協定檢查器5 10(Bus Protocol Checker)、一覆蓋範 圍檢查器520(Coverage Checker)、一頻寬紀錄器 530(Bandwidth Recorder)、一測試輸入產生器 54〇(Stimulus Generator)及 訊息 供者 550(essage Provider)。 該匯流排協定檢查器5 10係用於查核匯流排37〇上資料 20傳輸之通訊協定正確性。該覆蓋範圍檢查器520係檢驗使用 者IP之驗异法覆盍性。该頻寬紀錄器53〇係紀錄分析匯流排 上之頻寬使用狀悲、。该測試輸入產生器54〇則產生測試訊號 樣版的功能。該訊息提供者550用於紀錄以上監控資料並回 傳功能。 10 1240531 圖6係該虛擬功能元件330之方塊圖,其分為一虛擬暫存 器產生器610(Virtual Register Generator)及一虛擬行為產 生器620(Virtual Behavior Generator)。該虛擬暫存器產生 器610係用於產生虛擬功能元件内所需之暫存器,如收送暫 5 存器(RX/TX register)或狀態暫存器(status register)等。該 虛擬行為產生器620用於模擬虛擬功能元件内部行為,如收 送資料時間或是否產生中斷等行為。 圖7係該可組態之硬體抽象層220之方塊圖,其包含一 HAL介面710、一記憶體控制器初始化程序720、一計時器 10 工具73〇、一中斷控制器管理740、一處理器初始化程序 750、一記憶體映射表760、一輸出輸入埠程序770、一快閃 記憶體工具780及一開機程序790。 该記憶體映射表760 (Memory Mapping)包含複數筆紀 錄,其代表讓使用者透過工具去設定的參數,包含硬體每 15 個單元的記憶體映射位址定義,以自動產生程式定義檔(上 include file)。該輸出輸入埠程序 770(In port/out p〇rt functions)係針對該記憶體映射表760的低階記憶體映射位 址輸出入程序。該快閃記憶體工具780(Flash Utility)係用來 存取該非揮發性記憶體420的低階程式庫。該開機程序 20 790(Bo〇tstrap)係執行系統開機初始化、記憶體配置安排、 堆疊配置、硬體測試、載入作業系統的功能。 该計時器工具730(Timer Utility)則提供計時器初始 化、設定、重設、時間存取服務、與計時器中斷註冊等服 務。该中斷控制器管理 740(Interrupt Controller Management) 1240531 提供中斷源優先順序管理、中斷源到該處理器模組450介 面、該固定硬體電路3 10的中斷源管理、與該可程式邏輯單 元380上之各元件中斷源擴充介面。該處理器初始化程序 750(processor core initial codes)係初始化該該處理器模組 5 450、設定中斷向量與周邊組態,讓作業系統可以順利移植。 圖8係該可組態之驅動程式230之功能圖,其包含一作業 系統驅動程式介面810、一 UART軟體驅動程式820、一乙 太網路軟體驅動程式830、一Flash軟體驅動程式840、一計 時器軟體驅動程式850、一 GPI0軟體驅動程式860、一矽智 10 財軟體驅動程式870及一 VFC軟體驅動程式880。 該可組態之驅動程式230係用於驗證系統硬體平台之固 定硬體電路3 10的驅動程式,包含UART、Ethernet、Flash、 Timer、GPI0的驅動程式,使用者可透過工具介面設定組 態,工具會自動修改樣本,產生驅動程式。 15 該矽智財360之驅動程式為符合作業系統規定介面之驅 動程式樣本,使用者可透過工具介面設定組態,工具會自 動修改樣本,產生驅動程式。該虛擬功能元件VFC330之驅 動程式為符合作業系統規定介面之驅動程式樣本,使用者 可透過工具介面設定虛擬功能元件組態,工具會自動修改 20 樣本,產生虛擬功能元件驅動程式。 圖9係本發明之多工系統層級軟硬體協同驗證系統之使 用流程。於步驟S910中,使用一工具設定匯流排370結構, 於步驟S920中,連結矽智財360至匯流排370。於步驟S930 中,選擇虛擬功能元件VFC330及設定需求資源參數。於步 1240531 驟S940中,使用一工具設定監控參數。於步驟s95〇中,產 生HW/SW程式碼。於步驟S96〇中,將所產±之軟體程式碼 編譯及鏈結成可執行槽,並將所產生之硬體程式碼合成及 P&R成硬體檔案後,下載至硬體平台。 5於步獅7()巾,將本發明之多u層級軟硬體協同驗 證系統開機。於步驟S980中,設定硬體邏輯。於步驟仍9〇 中,設定軟體啟動。於步驟3995中,啟動作業系統及應用 程式。此時即可進行多工系統層級軟硬體協同驗證。 上述實施例僅係'為了方便說明而舉例而已,本發明所主 10張之權利範圍自應以申請專利範圍所述為準,而非僅限於 上述實施例。 【圖式簡單說明】 圖1係習知開發SIP之示意圖。 15圖2係本發明多工系統層級軟硬體協同驗證系統之系統方 塊圖。 圖3係本發明之驗證系統硬體平台之方塊圖。 圖4係本發明之固定硬體電路之方塊圖。 圖5係本發明之監控器之方塊圖。 20圖6係本發明之虛擬功能元件之方塊圖。 圖7係本發明之可組悲硬體抽象層之方塊圖。 圖8係本發明之可組態驅動程式之功能圖。 圖9係本發明之多工系統層級軟硬體協同驗證系統之使用 流程。 13 25 1240531 【圖號說明】 驗證系統硬體平台 210 可組感之硬體抽象層 220 可組態之驅動程式 230 作業系統 240 可組態之應用程式 250 監視軟體 260 矽智財相關應用程式及系統效能監視器 270 固定硬體電路 310 匯流排仲裁單元 320 虛擬功能元件 330 橋接器 340 監控器 350 矽智財 360 隨機存取記憶體 410 非揮發性記憶體 420 乙太網路模組 430 記憶體控制裝置 440 處理器模組 450 中斷控制器 460 一般輸出/輸入琿 470 計時器模組 480 萬用非同步傳收器 490 匯流排協定檢查器 510 覆蓋範圍檢查器 520 頻寬紀錄器 530 測試輸入產生器 540 訊息提供者 550 虛擬暫存器產生器 610 虛擬行為產生裔 620 HAL介面 710 記憶體控制器初始化 720 程序 計時器工具 730 中斷控制器管理 740 處理器初始化程序 750 記憶體映射表 760 輸出輸入璋程序 770 快閃記憶體工具 780
14 1240531 開機程序 790 作業系統驅動程式介面810 以太網路軟體驅動程式830 計時器軟體驅動程式 850 矽智財軟體驅動程式 870 UART軟體驅動程式 820 Flash軟體驅動程式 840 GPIO軟體驅動程式 860 VFC軟體驅動程式 880
15

Claims (1)

1240531 拾、申請專利範圍: 1. 一種多工系統層級軟硬體協同驗證系統,其提供軟 硬體同步設計驗證環境,俾可同時驗證軟硬體與整個系^ 的互動情形,該系統主要包含: 5 10 15 20 一驗證系統硬體平台,其包含可抽換之處理器核心、作 業系統需要的周邊裝置、可程式邏輯單元及—矽智財 (Silicon lntellectuai Pr〇perty),其用來實現一完整系統曰;、 一可組態之硬體抽象層,透過對硬體的抽象描述,以降 低和下層之該驗證系統硬體平台的耦合; 牛 一可組態之驅動程式,其係透過該可組態之硬體抽象 層,以驅動該驗證系統硬體平台之硬體; -作業系統,其係、執行於該驗證系統硬體平台,以提供 一作業系統環境,俾讓應用程式於其上執行;以及 /、 一可組態之應用程式,係用於執行該驗證系統硬體平台 之相關功能。 · D 2. 如申請專利範圍第旧所述之多工系統層級軟硬體 :同I双也系統’其中,該驗證系統硬體平台可經由設定夂 數,以產生匯流排仲裁單%、橋接器及監控器。 > 3. 如申請專利範圍第2項所述之多工系統詹級軟硬體 協同驗證糸統,其中,兮於批 與資源監^ 來監控财智財行為 4· >申請專利範圍第2項所述之多工系統層級軟硬體 協同驗證糸統,豆中今確、六4 ★ 凡,、干4匯机排仲裁單元係用來仲裁—匯 流排之存取次序。 ^ 16 1240531 5·如申請專利範園第4項所述之多工系統層級軟硬體 協同驗證系統,其中,該匯流排為ΑΜΒ Α匯流排。 6.如申請專利範圍第4項所述之多工系統層級軟硬體 協同驗證系統,其中,該匯流排為PI匯流排。 7 ·如申請專利範圍第2項所述之多工系統層級軟硬體 協同驗證系統,其中,該橋接器係用來連結該匯流排與該 該矽智財。
17
TW092136736A 2003-12-24 2003-12-24 Multitasking system level system for Hw/Sw co-verification TWI240531B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW092136736A TWI240531B (en) 2003-12-24 2003-12-24 Multitasking system level system for Hw/Sw co-verification
US10/793,919 US20050144436A1 (en) 2003-12-24 2004-03-08 Multitasking system level platform for HW/SW co-verification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW092136736A TWI240531B (en) 2003-12-24 2003-12-24 Multitasking system level system for Hw/Sw co-verification

Publications (2)

Publication Number Publication Date
TW200522651A TW200522651A (en) 2005-07-01
TWI240531B true TWI240531B (en) 2005-09-21

Family

ID=34699304

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092136736A TWI240531B (en) 2003-12-24 2003-12-24 Multitasking system level system for Hw/Sw co-verification

Country Status (2)

Country Link
US (1) US20050144436A1 (zh)
TW (1) TWI240531B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487500B1 (en) * 2003-10-09 2009-02-03 Nortel Networks Limited System and method for installing and configuring software for a network element in an optical communications network
WO2008023427A1 (en) * 2006-08-24 2008-02-28 Netcleus Systems Corporation Task processing device
US7934030B1 (en) 2008-02-14 2011-04-26 Western Digital Technologies, Inc. Disk drive comprising code segments for interfacing with a component such as a read channel
JP5549854B2 (ja) * 2009-04-14 2014-07-16 ソニー株式会社 情報処理装置および方法、並びにプログラム
US8953796B2 (en) 2011-06-29 2015-02-10 International Business Machines Corporation Techniques for accessing features of a hardware adapter
EP3518458B1 (en) 2011-12-15 2022-04-06 INTEL Corporation Method and device for secure communications over a network using a hardware security engine
US20130275769A1 (en) * 2011-12-15 2013-10-17 Hormuzd M. Khosravi Method, device, and system for protecting and securely delivering media content
US9497171B2 (en) 2011-12-15 2016-11-15 Intel Corporation Method, device, and system for securely sharing media content from a source device
CN106502960A (zh) * 2016-10-09 2017-03-15 上海庆科信息技术有限公司 一种基于sip封装的无线通信芯片
US10452459B2 (en) 2016-12-09 2019-10-22 Microsoft Technology Licensing, Llc Device driver telemetry
US10467082B2 (en) * 2016-12-09 2019-11-05 Microsoft Technology Licensing, Llc Device driver verification
US10552245B2 (en) 2017-05-23 2020-02-04 International Business Machines Corporation Call home message containing bundled diagnostic data
CN110415334B (zh) * 2019-06-26 2023-03-10 广东康云科技有限公司 一种实景三维模型应用系统和方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009256A (en) * 1997-05-02 1999-12-28 Axis Systems, Inc. Simulation/emulation system and method
US6052524A (en) * 1998-05-14 2000-04-18 Software Development Systems, Inc. System and method for simulation of integrated hardware and software components
US6868545B1 (en) * 2000-01-31 2005-03-15 International Business Machines Corporation Method for re-using system-on-chip verification software in an operating system
US6571308B1 (en) * 2000-01-31 2003-05-27 Koninklijke Philips Electronics N.V. Bridging a host bus to an external bus using a host-bus-to-processor protocol translator
US7124376B2 (en) * 2000-05-02 2006-10-17 Palmchip Corporation Design tool for systems-on-a-chip
US6993469B1 (en) * 2000-06-02 2006-01-31 Arm Limited Method and apparatus for unified simulation
US6856951B2 (en) * 2002-11-15 2005-02-15 Rajat Moona Repartitioning performance estimation in a hardware-software system
US7003746B2 (en) * 2003-10-14 2006-02-21 Hyduke Stanley M Method and apparatus for accelerating the verification of application specific integrated circuit designs

Also Published As

Publication number Publication date
TW200522651A (en) 2005-07-01
US20050144436A1 (en) 2005-06-30

Similar Documents

Publication Publication Date Title
US6876941B2 (en) Testing compliance of a device with a bus protocol
TWI240531B (en) Multitasking system level system for Hw/Sw co-verification
US8644305B2 (en) Method and system for modeling a bus for a system design incorporating one or more programmable processors
CN103412834B (zh) 一种单soc芯片及单soc芯片多工作模式的复用方法
US20040243334A1 (en) Test component and method of operation thereof
JP2005011344A (ja) ネットワークベースの階層エミュレーションシステム
JP2005518575A (ja) Edaシミュレーション環境における複数のシミュレーション領域に関する同期
CN115017845B (zh) 用于ip单元级别验证的总线驱动式芯片仿真激励模型
Geist et al. A methodology for the verification of a “system on chip”
JP6277279B2 (ja) エミュレーションにおけるパーティショニングおよびプラットフォームのプロトタイピングを用いたダイナミックインターコネクト
US10409935B2 (en) Modeling a bus for a system design incorporating one or more programmable processors
US7099813B2 (en) Simulating program instruction execution and hardware device operation
CN101303673B (zh) 接口板、模拟器、同步方法和同步程序
Karle et al. A hardware/software co-design approach to prototype 6G mobile applications inside the GNU radio SDR ecosystem using FPGA hardware accelerators
CN1312583C (zh) 仿真装置和仿真方法
CN100470482C (zh) 使用工作调度程序初始化多装置的方法
GB2374434A (en) Testing compliance of device with bus protocol
Gamboa et al. UVM-Based Design and Verification of AHB-Lite to AXI Bridge
Cho et al. Interface synthesis for heterogeneous multi-core systems from transaction level models
Viktorin et al. Framework for fast prototyping of applications running on reconfigurable system on chip
CN118535316B (zh) 在云系统上进行云计算的方法、装置及存储介质
US20060259290A1 (en) Method and system for ASIC simulation
CN111143141B (zh) 一种状态机设置方法及系统
Marques et al. Open-Source FPGA Implementation of an I3C Controller
Coggiola Functional test of peripheral devices

Legal Events

Date Code Title Description
MK4A Expiration of patent term of an invention patent