There is interest in adopting cloud computing and web technologies to provide new user experiences for chip design tools. The document presents techniques for building next generation web-based EDA applications and platforms by evolving legacy C++ EDA tools into web servers with APIs. It describes a software architecture and experimental evaluation of a web-based logic design platform developed using these techniques.
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
Rapidly Building Next Generation Web-based EDA Applications and Platforms from Legacy Tools
1. Rapidly Building Next Generation Web-based EDA
Applications and Platforms from Legacy Tools
Arun Joseph, Sampath Baddam, Shashidhar Reddy, Balaji Pulluru, Pradeep Joy & Wolfgang
Roesner
IBM Systems Group
Contact: arujosep@in.ibm.com
2. With the advent of cloud computing, data analytics and web-based
solutions for visualization, there is interest in the EDA industry to
adopt [1] these technologies to provide new user experiences to the
chip design and verification communities, while also reducing overall
tool and platform development costs.
Also, there is interest from design communities to bring together
different designer tasks and design views into a single tightly
integrated platform, with capabilities for session and context
management, to enable overall design efficiency.
We present techniques on how legacy standalone EDA C++ tools,
along with other web solutions, can be used for rapidly building next
generation web applications and platforms which can be deployed
on the cloud [2].
To the best of our knowledge, no prior work has published the
detailed software architecture of evolving legacy EDA tools
(including ones with rich graphical interfaces [3]) for building such
next generation EDA platforms.
Slide 2
Motivation
3. The key idea is to rapidly evolve legacy C++-based EDA tools (including ones with rich graphical
interfaces) into “on-demand” web-servers running on cloud (server grid), providing a rich set of web
APIs, which can be used to cater to the requirements new and tightly integrated web applications.
Slide 3
Main Idea
Step 1: “Embed” the C++ with vnc-plugin and
enable rendering of its QT-based [3] UI on web
using techniques described in [4]
Step 2: Enable the tool as a multi-threaded web-
server (thread for main UI, service thread, and for
the different web clients) which can be run on
cloud (server grid).
This will also provide a rich set of web APIs to
enable new web application development.
Enable additional capabilities like bidirectional
communication (for tight application integration)
and tool server snapshot (for overall platform
resilience).
Step 3: Rapidly develop new web-based
applications using the tool provided web-apis and
other web solutions (like mean-stack), and
integrate into overall web platform dashboard.
4. Slide 4
Experimental Evaluation
Figure 4 shows a view of NEXA Logic WorkBench, a new web based
platform (for logic designer and verification) developed using
techniques described. The platform provides new user experiences like:
(a) Logic debug directory to a new NEXA session, with three key NEXA
applications (Mantis, source and trace viewer) pre-configured for logic
debug
(b) Notion of coupling between NEXA applications in a NEXA
workbench session (eg. Synchronized current debug cycle across logic
debug applications)
(c) Notion of multiple workbench sessions and seamless transitioning
between debug sessions (using multiple browser tabs)
Figure 5 shows a simple overview view of NEXA
Source Browser web application (built using web APIs
from two separate tool servers: NEXA Mantis and a
NEXA VHDL Navigator).
The flow illustrates the sequence of the software flow
when a user “adds a signal of interest”.
Starting from (1) it shows how the signal of interest
selected is displayed on the rendered GUI on the
NEXA Mantis application.
5. Figure 3 shows software architecture and flow of how a standalone legacy GUI intensive logic debugger tool (Mantis) was evolved using
the three steps mentioned before into NEXA Mantis. This also caters to the inter-application communication requirements of two other new
web applications hosted on the NEXA platform (NEXA Source Browser & NEXA Trace Browser)
Slide 5
Detailed View of Software Architecture
Main Thread
(QT-GUI)
Event
loop
NEXA Mantis
Mantis
GUI
Service
Thread
NEXA
Trace
viewer
NEXA
Source
browser
Listen for
new
connections
Spawn new
thread
Thread to process
trace viewer requests
Thread to process
source browser requests
Connection
Manager
Connect to mantis server
New connection
Post request to main thread
Request processed
Register with connection
manager
Post requests
Spawn new
thread
Post requests
Connect to
mantis server
• Slide has animation
JSON C++ type
C++ typeJSON
JSON
C++ type
Mantis
Web
APIs
6. There is a strong desire to bring together different EDA tools and design views into a single
tightly integrated next generation web-platform which can be deployed on the cloud.
We presented details of the software architecture of how legacy standalone C++-based
EDA tools (including ones with rich graphical interfaces) can be evolved into on-demand
web-servers running on an internal cloud (server grid), providing a rich set of web APIs, to
build such web platforms.
Experimental evaluation of the methodology to develop NEXA Logic WorkBench, using a
legacy logic debugger tool, internal server grid, and other web solutions, demonstrates the
applicability of the proposed approaches.
We believe the techniques described have broad applicability and can be leveraged by
other EDA tool providers attempting to solve similar problems.
In future work, adoption of more deployment and development practices from solutions like
[2] can be further leveraged for improving resilience and reducing maintenance costs.
Slide 6
Summary
7. There is a strong desire to bring together different EDA tools and design views into a single
tightly integrated next generation web-platform which can be deployed on the cloud.
We presented details of the software architecture of how legacy standalone C++-based
EDA tools (including ones with rich graphical interfaces) can be evolved into on-demand
web-servers running on an internal cloud (server grid), providing a rich set of web APIs, to
build such web platforms.
Experimental evaluation of the methodology to develop NEXA Logic WorkBench, using a
legacy logic debugger tool, internal server grid, and other web solutions, demonstrates the
applicability of the proposed approaches.
We believe the techniques described have broad applicability and can be leveraged by
other EDA tool providers attempting to solve similar problems.
In future work, adoption of more deployment and development practices from solutions like
[2] can be further leveraged for improving resilience and reducing maintenance costs.
Slide 6
Summary
Editor's Notes
[1] L. Stok, "The Next 25 Years in EDA: A Cloudy Future?," in IEEE Design & Test, vol. 31, no. 2, pp. 40-46, April 2014.
[2] IBM Cloud: https://www.ibm.com/cloud/
[3] QT: https://www.qt.io/
[4] Graphically Intensive EDA Tools on Integrated Web Platforms: An Experimental Evaluation – DAC’17
NEXA Mantis = Web based logic debugger
NEXA Source Browser = Web based RTL source code browser (coupled/synchronized with other applications in the current NEXA session)
NEXA Trace Viewer = Web based simulation trace viewer (again coupled with other applications in the current NEXA session)
NEXA VHDL Navigator = Web server which provides web-apis to enable navigation through the logic design
The performance of the new platform was at par with current state-of-art platforms used in the design of next generation processors, while providing new user experiences.
Details with be covered in the full version of the presentation.