{"id":36067,"date":"2017-10-01T21:21:38","date_gmt":"2017-10-01T21:21:38","guid":{"rendered":"https:\/\/silvaco-stage.betagentechnologies.com\/%e6%9c%aa%e5%88%86%e7%b1%bb\/smartspice-shared-mode-api\/"},"modified":"2021-10-13T09:48:31","modified_gmt":"2021-10-13T16:48:31","slug":"smartspice-shared-mode-api","status":"publish","type":"post","link":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/smartspice-shared-mode-api\/","title":{"rendered":"SmartSpice Shared Mode API"},"content":{"rendered":"<h1>SmartSpice Shared Mode API<\/h1>\n<p>SmartSpice API, shared mode, was developed in order to provide an easy to use solution for products requiring the analog SPICE core engine as an integral part of their functionality. It is a fast and reliable application programming interface used by several SILVACO\u2019s and customer\u2019s tools. The main idea is to allow a client tool to dynamically link with SPICE shared object from pre-installed SmartSpice release package. For convenience, there is a small static library, called \u2018testspice\u2019, which can be used to make integration process seamless. In this article we are going to use this library to demonstrate how to use SPICE shared mode API on simple example. The example is \u2018testLiteShared.cpp\u2019 can be found with testspice.<\/p>\n<p>First, we have to declare a server object which will provide basic services associated with the current application instance:<\/p>\n<blockquote><p>CSpiceSharedServer oServer(argc, argv);<\/p><\/blockquote>\n<p>The class declaration is in MySpiceShared.h file which must be included. The arguments (argc and argv) are those passed to the main program\u2019s procedure.<\/p>\n<p>Next, we have to initialize the server by calling \u2018Initialize\u2019 method of CSpiceSharedServer class:<\/p>\n<p><img loading=\"lazy\" width=\"782\" height=\"1012\" src=\"https:\/\/silvaco-stage.betagentechnologies.com\/wp-content\/uploads\/2020\/03\/simstd_Q4_2017_a5-1.jpg\" class=\"cleaned-enfold-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/silvaco-stage.betagentechnologies.com\/wp-content\/uploads\/2020\/03\/simstd_Q4_2017_a5-1.jpg 782w, https:\/\/silvaco-stage.betagentechnologies.com\/wp-content\/uploads\/2020\/03\/simstd_Q4_2017_a5-1-232x300.jpg 232w, https:\/\/silvaco-stage.betagentechnologies.com\/wp-content\/uploads\/2020\/03\/simstd_Q4_2017_a5-1-768x994.jpg 768w, https:\/\/silvaco-stage.betagentechnologies.com\/wp-content\/uploads\/2020\/03\/simstd_Q4_2017_a5-1-545x705.jpg 545w, https:\/\/silvaco-stage.betagentechnologies.com\/wp-content\/uploads\/2020\/03\/simstd_Q4_2017_a5-1-29x37.jpg 29w, https:\/\/silvaco-stage.betagentechnologies.com\/wp-content\/uploads\/2020\/03\/simstd_Q4_2017_a5-1-43x55.jpg 43w, https:\/\/silvaco-stage.betagentechnologies.com\/wp-content\/uploads\/2020\/03\/simstd_Q4_2017_a5-1-37x48.jpg 37w\" sizes=\"auto, (max-width: 782px) 100vw, 782px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>SmartSpice API, shared mode, was developed in order to provide an easy to use solution for products requiring the analog SPICE core engine as an integral part of their functionality. It is a fast and reliable application programming interface used by several SILVACO\u2019s and customer\u2019s tools. The main idea is to allow a client tool to dynamically link with SPICE shared object from pre-installed SmartSpice release package. For convenience, there is a small static library, called \u2018testspice\u2019, which can be used to make integration process seamless. In this article we are going to use this library to demonstrate how to use SPICE shared mode API on simple example. The example is \u2018testLiteShared.cpp\u2019 can be found with testspice.<\/p>\n","protected":false},"author":5,"featured_media":19141,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7723],"tags":[],"class_list":["post-36067","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-simulation-standard-zh-hans","entry","has-media"],"_links":{"self":[{"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/posts\/36067","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=36067"}],"version-history":[{"count":1,"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/posts\/36067\/revisions"}],"predecessor-version":[{"id":36070,"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/posts\/36067\/revisions\/36070"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/media\/19141"}],"wp:attachment":[{"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=36067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=36067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/silvaco-stage.betagentechnologies.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=36067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}