VisualSim Architect

Last updated
VisualSim
Operating system Linux, OS X, Microsoft Windows
Website www.mirabilisdesign.com/new/visualsim/

VisualSim Architect is an electronic system-level software for modeling and simulation of electronic systems, embedded software and semiconductors. VisualSim Architect is a commercial version of the Ptolemy II research project at the University of California Berkeley. [1] The product was first released in 2003. VisualSim is a graphical tool that can be used for performance trade-off analyses using such metrics as bandwidth utilization, application response time and buffer requirements. It can be used for architectural analysis of algorithms, components, software instructions and hardware/software partitioning. [2]

Contents

VisualSim is used by over 50 companies worldwide and a similar number of universities for research projects. Honeywell Aerospace has collaborated with the University of Puerto Rico and used VisualSim to evaluate standards-based satellite platforms. [3] NASA JPL worked on the Nexus initiative to develop the next generation interface standard. To select the best interface to meet the deterministic timing and maximum power consumption, architects build models of 10 different protocols including PCIe, Gigabit Ethernet and RapidIO to compare the behavior for the same workload. [4] The American University of Sharjah used performance evaluation methodologies to leverage exploration at the architectural level and assist in making early design tradeoffs. In this paper, [5] the professor used the simulation platforms developed using the VisualSim tool to compare the performance of two memory architectures, namely, the Direct Connect architecture of the Opteron, and the Shared Bus of the Xeon multicore processors.

Research and development on improving system architectures has been performed in networking, avionics, industrial, semiconductors, and high-performance computing fields. [6] FPGA designers can perform high-speed virtual simulation of large electronic systems using VisualSim.As part of the Xilinx ESL initiative, the company has added support for on-FPGA CPUs. [7]

Block Diagram Editor is the primary graphical user interface and is supported with customizable library blocks of hardware, software and communication resources. Graphical viewers can be placed in the model for real-time viewing or for saving offline analysis. VisualSim has taken SystemC modelling into a higher level of abstraction. It also provides automatic template generation and intellectual-property (IP) block importation. And it adds function calls designed to lift SystemC to a "macroarchitectural" level. [8]

VisualSim is widely used for Performance Modeling, Architecture Exploration/Design Space exploration and early power analysis of Avionics, Automotive Electronics, Embedded Systems, High Performance Computing Systems (HPC) and System-on-Chip (SoC).

VisualSim simulation models of the proposed systems can be developed at various levels of hierarchy: Conceptual, Functional and Architectural Level Modeling. The conceptual level models can contain a network of systems including Satellites, aircraft and Ground vehicles. VisualSim functional models contain stochastic definitions of electronics, software, networks and workload. Various types of statistical traffic generators and queuing models of the resources are available in the library folder. At architectural level, the hardware and software models have cycle accurate blocks of processors, memory-subsystems, bus protocols and trace files. Software behavior/application behavior can be defined using a State Machine, flow diagram, read/write operations and IO activity. The mapping of the application to the system platform is defined in a spreadsheet. Communication architecture between different systems or sub-systems can be defined using VisualSim networking and wireless libraries. Software task arbitration and scheduling can be defined using VisualSim schedulers or the scripting language. The legacy models can be obtained by importing third-party models built in SystemC or C/C++. Algorithms developed using MatLab and Simulink can be used as a part of VisualSim model.

Modeling libraries

Robotic computer vision system model
Website www.mirabilisdesign.com/new/visualsim/?s_cid=wiki_VisualSim_2   OOjs UI icon edit-ltr-progressive.svg

VisualSim provides modeling libraries [9] for model-driven systems engineering activities. Libraries are used during the specification to optimize and validate the specification; during the hardware and software development phase to come up with the optimal architecture; and during the product debugging and testing phase to match the actual output with a set of expected results. VisualSim at the level of deriving Systems Specifications provides a complete visual inspection of the system operation as a combination of traffic input, behavioral system definition and sink. This solution augments tools such as MatLab/Simulink and UML/SysML by providing very early visibility into the full system operation without getting into the details of the algorithm and code-level implementation. Typical example use cases would be Multimedia SoC with Network-On-Chip, [10] In-Car networks using Ethernet, CAN, LIN and FlexRay, Submarine Inertial systems, etc. VisualSim modeling at the level of Hardware and Software are built after the system specification has been optimized and validated. The design can be refined by adding specific hardware implementation details, logic and cycle-level timing to the VisualSim model. The device can be a board, set of boards, SoC, sub-system or an Intellectual Property (IP). Implementation details can include the processor pipeline, functional cache, [11] accelerators and bus arbiters. These refinements provide cycle-by-cycle and address-level evaluation of the system functionality, performance and power.

The libraries are at statistical, functional and cycle-accurate levels of abstraction. As VisualSim libraries are embedded with timing and power details, the same model provides both performance computational results and power measurement values. [12] Libraries can be configured to a specific technology manually or using a text or CSV file. If an architect wants to evaluate system behavior or performance with custom components, then he/she can modify library configurations by changing library parameters. An example of a Robotic Computer vision system model. [13]

AMBA AXI
Website www.mirabilisdesign.com/new/visualsim/?s_cid=wiki_VisualSim_2   OOjs UI icon edit-ltr-progressive.svg

Semiconductor libraries

Sample Dual Channel DDR Based Memory Subsystem Model
Website www.mirabilisdesign.com/new/visualsim/?s_cid=wiki_VisualSim_2   OOjs UI icon edit-ltr-progressive.svg

Semiconductor Systems Modeling toolkits generate transaction-level and cycle-accurate models of complex, hardware devices. Using this generator and the associated hardware architecture library, platform architecture can be defined graphically without the need to write C code or create complex spreadsheets of the instruction sets. The virtual platform can be used to select components, optimize component size and speed, and define arbitration algorithms. VisualSim modeling library blocks help in rapid model construction and early system bottleneck prediction.

Standard libraries

Memory technologies: SDR, DDR, DDR2, DDR3, LPDDR, LPDDR2, LPDDR3, LPDDR4, Flash, RAMBUS

Processor Kit: ARM Cortex (A, R, M) series, PowerPC, Intel, TI, AMD, Marvel

Bus/Interfaces: AMBA AHB, APB, AXI, PCI, PCI-X, PCIe, RapidIO, SPI, NVMe, CoreConnect, FSB, BSB

Related Research Articles

<span class="mw-page-title-main">Embedded system</span> Computer system with a dedicated function

An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use. In 2009, it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.

In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, most commonly to design ASICs and program FPGAs.

<span class="mw-page-title-main">System on a chip</span> Micro-electronic component

A system on a chip or system-on-chip is an integrated circuit that integrates most or all components of a computer or other electronic system. These components almost always include on-chip central processing unit (CPU), memory interfaces, input/output devices and interfaces, and secondary storage interfaces, often alongside other components such as radio modems and a graphics processing unit (GPU) – all on a single substrate or microchip. SoCs may contain digital and also analog, mixed-signal and often radio frequency signal processing functions.

Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD), is a category of software tools for designing electronic systems such as integrated circuits and printed circuit boards. The tools work together in a design flow that chip designers use to design and analyze entire semiconductor chips. Since a modern semiconductor chip can have billions of components, EDA tools are essential for their design; this article in particular describes EDA specifically with respect to integrated circuits (ICs).

SystemC is a set of C++ classes and macros which provide an event-driven simulation interface. These facilities enable a designer to simulate concurrent processes, each described using plain C++ syntax. SystemC processes can communicate in a simulated real-time environment, using signals of all the datatypes offered by C++, some additional ones offered by the SystemC library, as well as user defined. In certain respects, SystemC deliberately mimics the hardware description languages VHDL and Verilog, but is more aptly described as a system-level modeling language.

Formal equivalence checking process is a part of electronic design automation (EDA), commonly used during the development of digital integrated circuits, to formally prove that two representations of a circuit design exhibit exactly the same behavior.

Nios II is a 32-bit embedded processor architecture designed specifically for the Altera family of field-programmable gate array (FPGA) integrated circuits. Nios II incorporates many enhancements over the original Nios architecture, making it more suitable for a wider range of embedded computing applications, from digital signal processing (DSP) to system-control.

<span class="mw-page-title-main">Hardware acceleration</span> Specialized computer hardware

Hardware acceleration is the use of computer hardware designed to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit (CPU). Any transformation of data that can be calculated in software running on a generic CPU can also be calculated in custom-made hardware, or in some mix of both.

Quantum programming is the process of designing or assembling sequences of instructions, called quantum circuits, using gates, switches, and operators to manipulate a quantum system for a desired outcome or results of a given experiment. Quantum circuit algorithms can be implemented on integrated circuits, conducted with instrumentation, or written in a programming language for use with a quantum computer or a quantum processor.

This is an alphabetical list of articles pertaining specifically to software engineering.

<span class="mw-page-title-main">OrCAD</span> Electronic design automation software

OrCAD Systems Corporation was a software company that made OrCAD, a proprietary software tool suite used primarily for electronic design automation (EDA). The software is used mainly by electronic design engineers and electronic technicians to create electronic schematics, and perform mixed-signal simulation and electronic prints for manufacturing printed circuit boards (PCBs). OrCAD was taken over by Cadence Design Systems in 1999 and was integrated with Cadence Allegro in 2005.

<span class="mw-page-title-main">Integrated circuit design</span> Engineering process for electronic hardware

Integrated circuit design, semiconductor design, chip design or IC design, is a sub-field of electronics engineering, encompassing the particular logic and circuit design techniques required to design integrated circuits, or ICs. ICs consist of miniaturized electronic components built into an electrical network on a monolithic semiconductor substrate by photolithography.

<span class="mw-page-title-main">Systems architecture</span> Conceptual model of a system

A system architecture is the conceptual model that defines the structure, behavior, and more views of a system. An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structures and behaviors of the system.

VisSim is a visual block diagram program for the simulation of dynamical systems and model-based design of embedded systems, with its own visual language. It is developed by Visual Solutions of Westford, Massachusetts. Visual Solutions was acquired by Altair in August 2014 and its products have been rebranded as Altair Embed as a part of Altair's Model Based Development Suite. With Embed, virtual prototypes of dynamic systems can be developed. Models are built by sliding blocks into the work area and wiring them together with the mouse. Embed automatically converts the control diagrams into C-code ready to be downloaded to the target hardware.

Electronic system level (ESL) design and verification is an electronic design methodology, focused on higher abstraction level concerns. The term Electronic System Level or ESL Design was first defined by Gartner Dataquest, an EDA-industry-analysis firm, on February 1, 2001. It is defined in ESL Design and Verification as: "the utilization of appropriate abstractions in order to increase comprehension about a system, and to enhance the probability of a successful implementation of functionality in a cost-effective manner."

A computer architecture simulator is a program that simulates the execution of computer architecture.

Model-based design (MBD) is a mathematical and visual method of addressing problems associated with designing complex control, signal processing and communication systems. It is used in many motion control, industrial equipment, aerospace, and automotive applications. Model-based design is a methodology applied in designing embedded software.

High-level synthesis (HLS), sometimes referred to as C synthesis, electronic system-level (ESL) synthesis, algorithmic synthesis, or behavioral synthesis, is an automated design process that takes an abstract behavioral specification of a digital system and finds a register-transfer level structure that realizes the given behavior.

<span class="mw-page-title-main">SimulationX</span> Software application

SimulationX is a CAE software application running on Microsoft Windows for the physical simulation of technical systems. It is developed and sold by ESI Group.

Predictive engineering analytics (PEA) is a development approach for the manufacturing industry that helps with the design of complex products. It concerns the introduction of new software tools, the integration between those, and a refinement of simulation and testing processes to improve collaboration between analysis teams that handle different applications. This is combined with intelligent reporting and data analytics. The objective is to let simulation drive the design, to predict product behavior rather than to react on issues which may arise, and to install a process that lets design continue after product delivery.

References

  1. "VisualSim, built on top of Ptolemy II". ptolemy.eecs.berkeley.edu. Retrieved 2016-02-03.
  2. "Startup tackles system architecture | EE Times". EETimes. Retrieved 2016-02-03.
  3. "iap.ece.uprm.edu" (PDF).
  4. Group, Techbriefs Media. "NEXUS Scalable and Distributed Next-Generation Avionics Bus for Space Missions - Nasa Tech Briefs :: NASA Tech Briefs". www.techbriefs.com. Retrieved 2016-02-03.
  5. Muhammad, HudaS; Sagahyroon, Assim (2010-03-31). "Virtual Prototyping and Performance Analysis of Two Memory Architectures". EURASIP Journal on Embedded Systems. 2009 (1): 984891. doi: 10.1155/2009/984891 . ISSN   1687-3963.
  6. "Success Stories - Mirabilis Design Inc". Mirabilis Design Inc. Retrieved 2016-02-03.
  7. "Xilinx partners provide a wide spectrum of system-level design solutions" (PDF).
  8. "VisualSim reset for macroarchitecture | EE Times". EETimes. Retrieved 2016-02-03.
  9. "VisualSim Architect 10.3 increases engineering productivity using extensive emerging application templates, libraries and shorter simulation times to create accurate visual specifications". eejournal.com. 7 October 2010. Retrieved 2016-02-19.
  10. "MindTree Adopts Mirabilis Design's VisualSim to Deliver Architecture Exploration Services to its Semiconductor and Hardware Customers". Design And Reuse. Retrieved 2016-02-19.
  11. "FlashMemorySummit" (PDF).
  12. "Journal of Computers" (PDF).
  13. "SeminariosRobotica_DAS" (PDF).