必威电竞|足球世界杯竞猜平台

集成電路通用模擬程序
來源:互聯網

集成電路為重點的仿真程序(英語:Simulation Program with Integrated Circuit Emphasis, SPICE),是一種用于電路描述與仿真的語言與仿真器軟件,用于檢測電路的連接和功能的完整性,以及用于預測電路的行為。SPICE主要用于模擬電路和混合信號電路的仿真。由此我們便可以清楚地了解:SPICE這套程序原先發展的目的是為了模擬電子系統中日益重要的集成電路。

由于集成電路不如傳統電路一般可以在面包板(breadboard)或印刷電路板(Printed circuit board)上做實驗來驗證設計結果,所以為了提高集成電路正式生產時的良率(yield)及降低成本,勢必要在進入實際工藝階段前對其電路特性做“檢查”,確保性能在規格范圍之內。

介紹

SPICE (Simple Protocol for Independent Computing Environment) 是Red Hat收購Qumranet后獲得虛擬技術。SPICE能用于在服務器和遠程計算機如桌面和瘦客戶端設備上部署虛擬桌面。它類似于其它用于遠程桌面管理的渲染協議,如微軟的Remote Desktop Protocol或Citrix的Independent Computing 建筑。它支持Windows XP、Windows 7和Red Hat Enterprise Linux等虛擬機實例。大部分SPICE代碼是采用GNU GPLv2許可證發布,部分代碼是采用LGPL許可證。

發展歷史

SPICE是在1975年由加利福尼亞大學伯克萊分校的Donald Pederson在電子研究實驗室首先建立的。第一版和第二版都是用Fortran編寫的,但是從第三版開始用c語言編寫。以一"Computer Analysis of Nonlinear Circuits, Excluding Radiation"名為“CANCER”的電路仿真程序為藍本,發展出幾乎被全世界公認為電路仿真標準的SPICE原始雛型程序。

SPICE有好幾種版本,成功的商業版本主要有SPECTRE(由最初的SPICE作者之一Ken Kundert和Jacob White開始最初的框架)和HSPICE(最初由Meta-Software開發,現屬于Synopsys)、Eldo(最初由Anacad公司開發,現屬于Mentor Graphics)等。其后由于電路設計規模的級數級增長,舊版本的SPICE的仿真速度遠遠不能滿足需要,并且對電路規模大小也有限制,業界發展了快速SPICE。

SILVACO公司的提供的Smartspice, SmartSpice提供最高的性能和精度,用于設計復雜的高精度模擬電路、模擬混合信號電路、分析關鍵網路,特性表征單元庫等等。SmartSpice兼容于流行的模擬設計流程和foundry提供的器件模型。

在市面上所能看到的許多SPICE同類軟件:如OrCADPSpice(OrCAD)、HSPICE(Meta-Software;現屬于Synopsys)、IS-SPICE(intusoft)、IG-SPICE(A. B.Associates)、I-SPICE(NCSS timesharing)…等,均是以SPICE2系列為基礎再加改進而成的商業化產品。

成功的快速SPICE商業版本主要有HSIM(最初由NASSADA公司開發,NASSDA公司被新思科技公司購入), NANOSIM(SYNOPSYS,但有電路規模大小的限制,對敏感的模擬電路也有精度的缺陷,在數字電路仿真方面很成功)和ADiT(Evercad,2006年1月被Mentor Graphics并購)、ULTRASIM(凱登思公司的快速SPICE工具,屬于最新的第三代電路仿真工具)等。這些快速SPICE的主要特點是以犧牲準確性換取速度的大幅提高,因此他們的共同問題是如何在快速的同時保持準確性。

其中最廣為各級學校電子電機相關科系所使用的,就非OrCAD PSpice莫屬了。

安全

與遠程桌面服務器的SPICE客戶端連接由多個數據通道組成,每個通道都通過單獨的TCP或UNIX套接字連接運行。可以指定數據通道以明文或TLS模式運行,允許管理員權衡安全級別與性能。 TLS模式為數據信道上傳輸的所有流量提供強加密。

除加密外,SPICE協議還允許選擇身份驗證方案。原始SPICE協議使用共享密鑰定義了基于票證的身份驗證方案。服務器將生成RSA公鑰/私鑰對并將其公鑰發送給客戶端。客戶端將使用公鑰加密票證(密碼)并將結果發送回服務器,服務器將解密并驗證票證。當前的SPICE協議還允許使用SASL身份驗證協議,從而支持各種管理員可配置的身份驗證機制,特別是Kerberos。

實現

雖然只存在一個服務器實現,但自SPICE開源以來,已有多個程序員開發了SPICE客戶端的新實現。

spice協議

spice-protocol模塊定義了SPICE有線協議格式。這是在BSD許可下提供的,可以在Linux和Windows平臺上移植。

spice模塊

spice模塊為SPICE協議的服務器端提供參考實現。服務器作為動態庫提供,可以鏈接到任何希望公開SPICE服務器的應用程序。截至2013年,QEMU使用它為虛擬機提供SPICE接口。 spice代碼庫在LGPL v2 +許可下可用。

2014年12月刪除了名為spicec的spice代碼庫的客戶端部分。

spiceGTK

spice-gtk模塊使用GObject類型系統和GTK小部件工具包實現SPICE客戶端。這包括一個低級庫,spice-client-glib,它實現了客戶端協議代碼,以及一組高級小部件,它們使用GTK提供圖形客戶端功能。這是在LGPLv2 +許可下提供的,可以在Linux,OS X和Windows平臺上移植。

spiceHTML5

spice-html5模塊實現了一個使用ECMAScript的SPICE客戶端,旨在在支持html5的Web瀏覽器中運行。雖然它實現了SPICE協議,但它無法直接與常規SPICE服務器通信。它必須通過WebSocket代理間接連接到服務器。這是在GPLv3 +和LGPLv3 +許可證的組合下提供的。

應用

SPICE協議的起源是在KVM代碼庫的分支中提供改進的遠程桌面功能。

QEMU/KVM

QEMU維護人員在2010年3月合并了對所有QEMU虛擬機提供SPICE遠程桌面功能的支持.QEMU二進制文件鏈接到spice-server庫以提供此功能并實現QXL半虛擬化幀緩沖設備以使客戶操作系統能夠利用SPICE協議提供的性能優勢。客戶操作系統也可以使用普通的VGA卡,雖然與QXL相比性能會下降。

XSPICE

QXL幀緩沖設備的X.Org Server驅動程序包含一個包裝腳本,可以啟動Xorg服務器,其顯示通過SPICE協議導出。這樣可以在遠程桌面環境中使用SPICE,而無需QEMU/KVM虛擬化。

VIRT-viewe

virt-viewer程序使用spice-gtk客戶端庫使用SPICE連接到虛擬機,作為其先前對VNC的支持的替代方案。

oVirt

SPICE集成到oVirt私有云管理軟件中,允許用戶通過SPICE連接到虛擬機。

參考資料 >

生活家百科家居網