新闻资讯
看你所看,想你所想

spice(独立计算环境简单协定)

spice(独立计算环境简单协定)

以积体电路为重点的仿真程式(英语:Simulation Program with Integrated Circuit Emphasis, SPICE),是一种用于电路描述与仿真的语言与仿真器软体,用于检测电路的连线和功能的完整性,以及用于预测电路的行为。SPICE主要用于模拟电路和混合信号电路的仿真。由此我们便可以清楚地了解:SPICE这套程式原先发展的目的是为了模拟电子系统中日益重要的积体电路。

由于积体电路不如传统电路一般可以在麵包板(breadboard)或印刷电路板(Printed circuit board)上做实验来验证设计结果,所以为了提高积体电路正式生产时的良率(yield)及降低成本,势必要在进入实际工艺阶段前对其电路特性做“检查”,确保性能在规格範围之内。

基本介绍

  • 中文名:spice
  • 外文名:Simple Protocol for Independent Computing Environment

介绍

SPICE (Simple Protocol for Independent Computing Environment) 是Red Hat收购Qumranet后获得虚拟技术。SPICE能用于在伺服器和远程计算机如桌面和瘦客户端设备上部署虚拟桌面。它类似于其它用于远程桌面管理的渲染协定,如微软的Remote Desktop Protocol或Citrix的Independent Computing Architecture。它支持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公司被SYNOPSYS公司购入), NANOSIM(SYNOPSYS,但有电路规模大小的限制,对敏感的模拟电路也有精度的缺陷,在数字电路仿真方面很成功)和ADiT(Evercad,2006年1月被Mentor Graphics併购)、ULTRASIM(CADENCE公司的快速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模组实现了一个使用JavaScript的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驱动程式包含一个包装脚本[11],可以启动Xorg伺服器,其显示通过SPICE协定导出。这样可以在远程桌面环境中使用SPICE,而无需QEMU / KVM虚拟化。

VIRT-viewe

virt-viewer程式使用spice-gtk客户端库使用SPICE连线到虚拟机,作为其先前对VNC的支持的替代方案。
oVirt
SPICE集成到oVirt私有云管理软体中,允许用户通过SPICE连线到虚拟机。

转载请注明出处海之美文 » spice(独立计算环境简单协定)

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com