999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Cosim交換機芯片仿真系統設計

2012-10-21 08:27:10
武漢紡織大學學報 2012年3期
關鍵詞:系統設計

郭 佳

基于Cosim交換機芯片仿真系統設計

郭 佳

(東華大學 信息學院,上海 201620)

由于現有的仿真器對軟硬件的協同開發支持不足,不能有效銜接軟硬件割裂的開發環境。Cosim仿真系統是建立在TCP/IP socket通信的server/client上的應用程序。Cosim仿真系統的設計結合C語言,Verilog,Linux操作系統相關知識建立了一個基于軟件平臺的交換機芯片仿真系統。實現了對交換機系統中數據包路由信息和ASIC通信的系統仿真。

嵌入式;協同開發;仿真器;ASIC

嵌入式系統的軟硬件設計中一個重要的問題就是怎樣把嵌入式的軟件和硬件集成在一起調試。傳統的設計方法流程是,首先進行硬件子系統的設計實現,其次再進行軟件子系統的設計實現[1-3]。整個系統的開發基本是一個串行的方式,導致軟硬件的開發過程割裂。因此在設計方法學上,業界有迫切的需求改變軟硬件協同設計的現狀,在嵌入式系統設計的早期就可以將軟件和硬件聯合調試[4-5]。

基于業界的軟硬件協同設計和開發的需求,產生了兩類大類仿真器:第一類是基于硬件的仿真器,使用諸如FPGA和獨立的有CPU和內存的PCB板。硬件仿真器運行的比實際系統慢一個數量級,讓設計者可以使用大量的測試例程去測試系統,同時成本較高;第二類是基于軟件的仿真器,為系統的所有組件構建軟件模型,使用軟件模型去仿真來分析系統的行為。它的優點是成本低,運行速度快[6]。

筆者所設計的Cosim仿真器屬于軟件仿真器。通過對交換機芯片C/System C-model的軟件功能建模,實現了對多芯片系統的系統集成功能,接口協議,性能,QOS,向后兼容性的仿真,使得仿真系統模擬在真實硬件上運行軟件的效果,達到軟硬件協調開發的目的。最終得到Cosim在交換機系統中數據包轉發路由和ASIC通信系統的仿真結果[7]。

1 系統總體設計

Cosim是在實際可用的ASIC芯片和PCB板生產出來之前,運行一個硬件的軟件仿真環境,用于測試和驗證整個系統的架構、系統的完整性、軟硬件的穩定性,發現并修復可能存在的錯誤與缺陷。系統主要由五部分組成:軟件客戶端software_client,硬件客戶端hardware_client,仿真服務器端cosim_server,仿真管理端cosim_manager,運行程序cosim_launcher。系統組成結構圖如圖1所示:

圖1 Cosim 系統構架

Cosim_server主要用C語言寫成,用于管理所有客戶端之間的TCP/IP通信,它所起的主要用就是將任何源客戶端發來的消息轉發到目的客戶端,無論該消息是從軟件客戶端發向硬件端還是相反方向;Cosim_manager主要存放客戶端之間的通信的路由信息;Hardware_client可以由一個或多個芯片組成,這些芯片用Verilog寫成,被編譯成一個或多個獨立運行的在單個或多個工作站上的客戶端;Software_client是由C語言開發的程序,被編譯在工作站上運行,程序內部所有與芯片的IO部分都被替換成向對應的硬件客戶端發送與接收消息;Cosim_launcher是一個初始化配置和啟動服務器端與各個客戶端的程序,它從預定義好的XML中讀取各個客戶端的關系配置,再啟動對應的客戶端,從而能靈活的根據配置文件構造出不同的系統。

2 Cosim模塊間通信協議的設計

Cosim的客戶端之間都是通過Cosim server來通信,他們使用Cosim內部定義的消息格式Cosim message來交換信息。

2.1 Cosim消息的構成

Cosim message主要由兩個部分組成:(1) Cosim header是消息頭部分,主要由五個部分組成:DA,消息的目的地址;SA,消息的源地址;Type,消息的類型;Tol_len,消息的總長度,包括包頭長度;Seq_id,用于調試的消息序列號。(2) Cosim address是消息的地址格式,也由五個字段構成:devId,客戶端ID; devInstance,客戶端的實例號;slot,客戶端所處交換機機架的插槽號;chassis, 客戶端所處的交換機的機架號;if_id:客戶端內部的接口或端口號。主要地址primary address就是(devId, devInstance, slot, chassis)的集合primary address用于cosim server定位一個客戶端并轉發消息。絕對地址absolute address由primary address+if_id構成,用于發送消息到客戶端的一個特定端口。消息頭部中的DA和SA都是絕對地址。

圖2 Cosim message

2.2 Cosim消息的類型

Cosim系統中定義的消息類型包括:HELLO,ROUTE_INFO,CONTROL,PKT,TERNINATE。下面依次介紹以上幾種消息類型:(1) HELLO消息帶有客戶端接收端口的證書信息,當一個客戶端啟動聯網后,首先通過Cosim server 發一個HELLO消息給Cosim manager,Cosim server從消息的頭部SA中記錄客戶端的address。然后,Cosim manager保存來自客戶端的HELLO消息,并發送ROUTE_INFO消息給客戶端。之后,Cosim manager廣播收到HELLO消息給所有已存在的其他客戶端。證書信息的交換發生在新客戶端第一次連接時。(2) ROUTE_INFO:Cosim manager會發送ROUTE_INFO給各個clients,route_info是一個組成的配對。Client本身并不知道它的發送端口的目的地址是哪里,當client發送hello消息給manager時,manager會告訴client具體的route_info信息。在知道了自己的發送端口的目的地址信息后,clients需要知道是否目前客戶端已經做好準備接收消息,這是通過彼此交換credit認證信息實現的。(3) CONTROL:控制消息有3 個字符:val(32 位),Type, Access Type可以是下面的任何類型或自定義的值: Interrupt中斷, Reset重啟,Flow control流控制;Dump control, Simulation Time, Simulation Time Scale;Simulation steps – SIM_RESET, SIM_DUT_CONFIG, SIM_GEN_TRAFFIC;Access有四種:GET, SET, RESP, CTRL_ERROR。(4) PKT:PKT消息就是發送出去的攜帶字節流的數據包。(5) TERMINATE:TERMINATE消息是當一個客戶端關閉離線時,發送出去的消息,通知所有的clients自己要離線了。這樣,Cosim_manger和其他clients就可以做一些對應的清理工作。

3 交換機芯片仿真模塊設計

3.1 芯片硬件功能介紹

該仿真系統所仿真的芯片是交換機系統中的Port ASIC, 簡稱為SL,該芯片主要對來自XAUI口的的數據包做進一步的處理,如打上內部的TAG和增加VLAN分組的標示,然后通過XGMII口連接到兩個交換機中的Bridge ASIC接口。

3.2 基于RTL side的SL軟件抽象模塊設計

RTL side是一個C語言寫的函數庫,這個C程序庫可以通過simv的DirectC接口直接被simv調用,這個函數庫的主要功能是用于管理server和chip之間的socket通信如打開關閉連接,交換數據等等。

每一個芯片都有多個端口可以發送和接收數據。從Server 接收到消息存儲在芯片的端口隊列里,當simv 準備好接收新的命令時,就從隊列里取出消息。發往其他方向的消息不在隊列里停留就直接發出去。這樣做的目的是因為RTL部分是整個Cosim系統的瓶頸,而Server任何時候都是準備接收進來的消息。simv使用該API去發送請求給server要求建立或者關閉特定芯片的連接。RTL virtual client會轉發上面的請求給server,在收到Server發送過來的確認信息后,返回成功或者失敗給simv。simv使用該API 接收從server發過來的數據。這包括對來自server的發向當前chip 的socket 消息的非阻塞的讀取,所有的信息都會被讀取并寫入相應端口的隊列。每一個消息會由原來的IOS-Server-RTL API的格式轉換成RTL-simv API的格式。之后,只有在sim_recv調用參數中指定的端口隊列的第一個消息會被讀取,并轉換為DirectC格式的以供simv讀取。simv使用該API發送數據到server。數據以DirectC格式的接收后,立刻被從RTL-simv API格式轉成IOS-server API格式,并被以阻塞的方式發送到server上去。

4 Cosim中的芯片模塊集成

VCS的DirectC功能可以讓C語言寫的RTL client被編譯后和vcs仿真環境一起運行。第三節中描述的庫函數以externs方式聲明在verilog的Cosim wrapper文件里。這樣就可以使得verilog直接取調用它們,而這些庫函數本身就像是原生的verilog task/function一樣。

在Cosim集成模塊中該仿真器主要實現了以下功能(1)初始化所有芯片;(2)通知Cosim server所有芯片的存在;(3)發送chip init done消息給Cosim server;(4)輪詢接收消息,如cpu的操作或packet的傳輸,消息來自client發送到芯片的特定端口;(5)將仿真中產生的消息,如CPU讀數據,芯片的數據包輸出,中斷錯誤等等,發送回Cosim server。

5 仿真結果

Cosim 仿真系統共含有四個部分:Cosim launcher, Cosim server, Cosim manager, Cosim 客戶端。下面分別給出系統各個部分的仿真結果。

圖3中Launcher在讀取配置文件后,分別啟動了Cosim server,Cosim manager,Cosim client。整個Cosim系統都是通過Cosim launcher 這個perl腳本來啟動和初始化其它模塊的。主要就是讀取Cosim客戶端的配置文件,啟動Cosim server和Cosim客戶端。圖4中Cosim server 通過Cosim launcher 被調用運行,它的主要功能就是建立各個客戶端之間通信的一個中轉服務器,其他的客戶端都是通過server彼此連接的。Cosim server在建立socket之后就在不停的監聽socket,之后其他的客戶端各自連接上了cosim server,發送hello消息給server以及其他客戶端。如圖5所示,Cosim manager在啟動后會打印出當前的路由信息表,路由信息顯示當前所有建立連接的Cosim客戶端的端口對應關系。Cosim 客戶端運行結果如圖6所示SL 客戶端運行之后會接收來自診斷系統的IO訪問指令,返回對應的信息。該客戶端打印出了診斷系統訪問芯片的寄存器的過程以及數據包的路由信息。

圖3 Cosim Launcher 運行結果

圖4 Cosim server 運行結果

圖5 Cosim manager運行結果

圖6 SL芯片硬件客戶端仿真結果

6 小結

本論文首先簡單介紹了仿真器的概念、結構以及發展歷史,然后介紹了主流的仿真器,分析了現有仿真的局限性,說明了本研究的目的以及文章的組織。接著本文引入了對Cosim的介紹,從它的特點和功能的角度分析了Cosim平臺,在此基礎上詳細闡述了Cosim平臺的體系架構和設計要素。由于嵌入式系統的傳統仿真器的局限性,它們沒有對軟硬件協同開發的方法學有強大的支持,在這種背景下,新的協同仿真器應運而生[8-10]。本文后半部分以嵌入式網絡ASIC芯片及其驅動開發為基礎詳細的探討了Cosim仿真器在開發芯片和驅動過程中的應用。

[1] 熊光澤,詹瑾瑜. 嵌入式軟硬件協同設計技術綜述[J]. 計算機應用,2006,26(4):279-282.

[2] 鮑華,洪一,郭二輝. 面向Soc的軟硬件協同驗證平臺設計[J]. 計算機工程,2009,35(8):1-4.

[3] 王少平,王京謙,錢瑋. 嵌入式系統的軟硬件協同設計[J]. 現代電子技術,2005,4(2):5-7.

[4] 鄭德春,姚慶棟. 基于軟硬件協同仿真平臺的仿真測試方法[J]. 電路與系統,2008(6):15-18.

[5] 李京波,董利民,吳武臣. SoC軟硬件協同驗證中的軟件仿真[J]. 電子工程師,2007(1):23-27.

[6] 柴旭東,李伯虎. 復雜產品協同仿真平臺的研究與實現[J]. 計算機集成制造系統,2002,(7):37-45.

[7] 熊光楞. 協同仿真與虛擬樣機技術[M]. 北京:清華大學出版社,2004.23-87.

[8] 郭斌,熊光楞. 支持復雜產品設計的協同仿真平臺研究[J]. 機械與電子,2002,(4):703-706.

[9] 茍凌怡,熊光楞. 支持虛擬樣機協同仿真平臺關鍵技術研究[J]. 系統仿真學報,2002,(3):34-38.

[10]燕雪峰,邸彥強. 協同仿真平臺中的仿真組件技術及其實現[J]. 計算機集成制造系統,2004,(10):32-35.

Switch ASIC Co-simulation System Design Based on Cosim

GUO Jia

(School of Information Science & Technology, Donghua University, Shanghai 201620, China)

In current background, the traditional development methodology has been unable to follow the market requirement due to its separated way of hardware and software development. For the limit of current simulators, we design and develop a new collaborative simulation platform called Cosim, which based on TCP/IP socket communication application program.Cosim simulation system is developed based on C language, Verilog, Linux. It is a switch ASIC simulation system based on software platform. Cosim simulation system demonstrates switch system’s packet transfer, router info and ASIC communication.

Embedded System; Co-development; Simulator; ASIC

TN91

A

1009-5160(2012)03-0077-04

郭佳(1986-),女,碩士,研究方向:控制理論與控制工程.

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 欧美三级不卡在线观看视频| 久久九九热视频| 亚洲欧美日韩另类在线一| 亚洲欧美一区二区三区麻豆| 精品久久久久久成人AV| 19国产精品麻豆免费观看| 国产午夜不卡| 国产毛片不卡| 黄色网在线免费观看| 国产99在线| 一边摸一边做爽的视频17国产| 日本手机在线视频| 在线99视频| 在线观看亚洲人成网站| 亚洲成年人片| 成人午夜视频网站| 婷婷亚洲视频| 国产成人高清精品免费| 国产免费黄| 尤物亚洲最大AV无码网站| 国产导航在线| 五月天天天色| 国产成年女人特黄特色大片免费| www.狠狠| 99re精彩视频| 无码aaa视频| www.youjizz.com久久| 欧美国产在线看| 草草线在成年免费视频2| 久久人人爽人人爽人人片aV东京热| 国产三级精品三级在线观看| 亚洲日产2021三区在线| 亚洲日韩久久综合中文字幕| 99视频全部免费| 色吊丝av中文字幕| a级毛片一区二区免费视频| 色婷婷亚洲综合五月| 19国产精品麻豆免费观看| 久久久国产精品无码专区| 国产国拍精品视频免费看 | 亚洲成a人在线播放www| 91无码网站| 狠狠色噜噜狠狠狠狠色综合久 | 色综合天天娱乐综合网| 狠狠色香婷婷久久亚洲精品| 欧美日韩在线第一页| 国产精品视频白浆免费视频| 91香蕉视频下载网站| 人人看人人鲁狠狠高清| 国产午夜人做人免费视频| 26uuu国产精品视频| 国内老司机精品视频在线播出| 欧美一级在线| 911亚洲精品| 女人18一级毛片免费观看| 亚洲电影天堂在线国语对白| 亚欧美国产综合| 国产美女在线观看| 欧美一区二区福利视频| 亚洲最新地址| 欧美国产视频| 国外欧美一区另类中文字幕| 国产成人综合在线视频| 日韩 欧美 国产 精品 综合| 亚洲人成日本在线观看| 视频在线观看一区二区| 91美女在线| 国产91精品调教在线播放| 欧美亚洲第一页| 浮力影院国产第一页| 亚洲天堂在线视频| 在线国产你懂的| a毛片免费观看| 国产精品精品视频| 99热最新网址| 欧美亚洲一二三区| 在线播放真实国产乱子伦| 六月婷婷激情综合| 亚洲第七页| 无码'专区第一页| 国产欧美日韩精品综合在线| 69综合网|