Release laysim-NOELV v0.1

이미지
  laysim-NOELV v0.1 Quad Core Processor Emulator  I'm really proud to release laysim-NOELV v0.1 based NOEL-XCKU-20210208 (GP64L-QC. 100MHz). laysim-NOELV consists of three types of emulators: laysim-noelv , laysim-noelv-dbt and laysim-noelv-mdbt . They are provided as a stand-alone application as well as a set of libraries that can be integrated in an existing simulator. laysim-noelv is a graphic user interface (GUI)-based and cycle-accurate emulator for the NOEL-V quad core processor from NOEL-XCKU-20210208 (GP64L-QC) based on interpretation method. It includes an embedded source-level debugger and L1/L2 caches. laysim-noelv-dbt is a GUI-based high-performance and cycle-approximate processor emulator with dynamic binary translation method. laysim-noelv-mdbt (Multi-Thread DBT, only CLI version) is a parallel implementation of laysim-noelv-dbt , where it adopts the multi-thread framework with DBT so it can exceed the real-time performance of NOEL-V on a high-end PC such as In

Release laysim-GR740 v2.2

이미지
   laysim-GR740  v2.2 Quad Core Processor Emulator 1. Support DWARF5 debugging format in laysim-gr740 for RTEMS6/GCC v12.2.1

Quick Comparison - laysim-GR740 vs Simics LEON4

이미지
I got a chance to use Simics LEON4 from WindRiver. I expected that Simics LEON4 would show high performance, but the actual performance was very slow compared to laysim-gr740-dbt . And the GRLIB models of GR740 which are implemented in Simics LEON4 are very limited. (No IRQAMP extension, IOMMU, and MMU-TLB, and no power-down mode support) I could not run RCC-1.3 examples, RTEMS 5.1 SMP examples, and XtratuM hypervisor in Simics LEON4 because of the lack of GRLIB modeling. When Simics LEON4 accesses the unimplemented registers of GRLIB, it halts with reporting "Address not mapped".  To overcome this problem temporarily, I added the unimplemented registers of GRLIB into outside_memory_whitelist[], but it could run only a few examples of RTEMS 5.1 SMP. Also XtratuM hypervisor was not executed correctly in Simics LEON4 either. However, VxWorks 6.9 and 7 for GR740 could run without any problem in Simics LEON4. More detailed information can be found in " Quick Comparison with

First NOEL-V "Hello world" on laysim-NOELV

이미지
Although I do not have a NOEL-V development board , I am currently developing laysim-NOELV , an emulator for NOEL-V processor from Gaisler. Today I can run "Hello World" on laysim-NOELV . This is first screen-shot!!!!!! 

Release laysim-GR740 v2.0

이미지
  laysim-GR740  v2.0 Quad Core Processor Emulator 1. Faster than Real GR740 Board (250MHz) under SMP  Environment ▶ Single Core Performance  laysim-gr740-dbt  shows highest performance on Intel i9-12900K     - Dhrystone :  915.71 MIPS  (the real-time performance (RTP) is 462.10%)     - Stanford : 463.87 MIPS (the RTP is 326.37%)     - Whetstone-SP : 138.36 MIPS (the RTP is 113.13%)

Release laysim-UT700 v2.0

  laysim-UT700  v2.0 Processor Emulator 1. Fastest UT700 Processor Emulator ▶  laysim-ut700-dbt  shows highest performance on Intel i9-11900K     - Dhrystone :  826.66 MIPS   2. Support the User Loadable Modules ▶  Support loadable modules for UART, PCI, SPI, GPIO, I/O, external SpW nodes, 1553B RTs, and CAN nodes. 

Release laysim-GR712RC v2.0

이미지
laysim-GR712RC v2.0 Dual Core Processor Emulator 1. Faster than Real GR712RC Board (100MHz) under SMP  Environment ▶  laysim-gr712rc-dbt  shows highest performance on Intel i9-11900K     - Dhrystone : 778.39 MIPS (the real-time performance is 1254.395%)     - Whetstone-SP : 141.71 MIPS (the real-time performance is 303.27%)     - RTEMS5.1 smpmigration02 : 418.55 MIPS (the real-time performance is 377.72%)     - RTEMS5.1 smpmrsp01 : 286.99 MIPS (the real-time performance is 253.69%)

Release Docker Container for NASA cFS and laysim-GR740 (CentOS7 x64)

이미지
Release Docker Container for NASA cFS and laysim-GR740 (CentOS7 x64) The Dockefile configures the docker container and sets up the execution platform for testing NASA cFS with laysim-GR740 emulator, cFS Ground System, and COSMOS Ground System.

laysim-GR740 and NASA cFS

이미지
Our KARI's FSW team has ported NASA cFS to GR740 and RTEMS 5.1 including OSAL and PSP.  We tested it on GR740 Development Board (250MHz) from Gaisler with cFS Ground Station and COSMOS Ground Station. Also lasyim-GR740 v1.6.2 can run cFS without any modifications, and it can communicate with Ground Station using UDP port of GRETH. laysim-gr740-dbt can run cFS much faster than real GR740 board. More information can be found in this presentation material, laysim-GR740 and cFS .

GDB and Code Coverage Support in laysim-GR740

이미지
laysim-GR740 v1.6 supports GDB and code coverage. Detailed information can be found in [laysim-GR740-012] Debugging with GDB on laysim-GR740 and [laysim-GR740-013] Code Coverage Operation on laysim-GR740 .

GR740 Emulators Comparison

이미지
Dr. Laura Pasquale from TASI presented " Towards Model Interoperability and Multicore Emulation: Industrial Return of Experience and Challenges in Developing the Next Generation of Simulators " in DASIA 2021. Only laysim-gr740 supports a multi-thread DBT version (laysim-gr740-mdbt), which is the only one able to provide real-time performance with an overall CPU load of 75% for each LEON4

Release laysim-GR740 v1.4

이미지
  laysim-GR740  v1.4 Quad Core Processor Emulator 1. Faster than Real GR740 Board (250MHz) under SMP Environment ▶  laysim-gr740-mdbt  is the fastest GR740 emulator with cycle accuracy.  

Faster than Real-Time - laysim-gr740-mdbt

이미지
laysim-gr740-mdbt (Multi-thread DBT) I'm really proud to release laysim-GR740 v1.2 with laysim-gr740-mdbt .  laysim-gr740-mdbt is a new parallel GR740 processor emulator which adopts the multi-thread framework with DBT through 2 years development by KARI. It can satisfy the real-time performance of GR740 on a high-end PC such as Intel i9-11900K @5GHz. Below Figure is a graph comparing the real-time performance and cycle accuracy of the most representative tests among all tests. laysim-gr740-dbt outperforms the real-time performance of GR740 on Dhrystone with 334.69%, and it can meet the real-time performance on Whetstone with 120.19%. But laysim-gr740-dbt cannot meet the real-time performance for some RTEMS 5.1 SMP examples which utilize almost 100% CPU load with 4 cores and its execution time is more than 5 seconds under the SMP environment.  Only laysim-gr740-mdbt can meet the real-time performance of GR740 under RTEMS SMP environment. 

Release laysim-GR740 v1.0 after completing the verification test

이미지
laysim-GR740  v1.0 Quad Core Processor Emulator I am proud to release laysim-GR740 v1.0 after completing the verification test of laysim-GR740 . laysim-GR740 emulates GR740 quad core processor (silicon revision 0) with GR740 GRLIB devices.  laysim-GR740  consists of two types of emulators:  laysim-gr740  and  laysim-gr740-dbt .  laysim-gr740  is a graphic user interface (GUI)-based and cycle-accurate emulator for  GR740 quad core processor based on interpretation method. It includes an embedded source-level debugger and supports MMU for Linux-SMP, XtratuM-SMP and AIR/GMV.  laysim-gr740-dbt  is a GUI-based high-performance and cycle-approximate processor emulator with dynamic binary translation method.  Both  laysim-gr740  and  laysim-gr740-dbt  support Windows and Linux x64 platform including CentOS 7/8, Ubuntu 18.04 and Debian 10.3. Also two types of CLI (Command Line Interface) version,  laysim-gr740-cli  and  laysim-gr740-dbt-cli , are provided especially for RTEMS5 testsuites. Th

Update laysim-GR740 v0.11 & Real-Time Performance & Cycle Accuracy (II)

이미지
  Update laysim-GR740 v0.11 & Real-Time Performance & Cycle Accuracy (II) laysim-GR740 is updated to v0.11 in order to enhance the real-time performance under the SMP environment which utilizes almost 100% CPU load of GR740. The performance of laysim-gr740-dbt v0.11 is improved by 23% on average, and the real-time performance of SMPLOCK01 is improved by 35.85% compared to v0.10 for example. Despite the performance improvement of laysim-gr740-dbt , it still doesn't satisfy the performance of GR740 under the SMP environment.  KARI/FSW team is developing a new processor emulator which based on multi-thread framework with DBT to satisfy the real-time performance of GR740 multicores. It will allocate each core of the GR740 processor to each core of x64 respectively, and achieve maximum performance with minimal synchronization among each cores. (But it will require at least 6 cores of x64 host.)

Real-Time Performance & Cycle Accuracy of laysim-GR740

이미지
Real-Time Performance & Cycle Accuracy of laysim-GR740 In general, a processor emulator based on interpretation method cannot not satisfy the real-time performance of guest CPU when the guest CPU operates at 70MHz or higher. A processor emulator adopting dynamic binary translation (JIT) method can achieve its real-time performance to 500 MIPS at maximum (for laysim-LEON3-PRO ), so it can meet the real-time performance of single core of GR740 processor which runs at 250MHz. However, a processor emulator based on DBT can never satisfy real-time performance of GR740 under SMP multicore environment. When analyzing the performance of laysim-GR740 with various multi-core benchmarking programs such as NPB, SPEC 2012 OMP and RTEMS5-SMP, the real-time performance of laysim-gr740-dbt can achieve 46.64% performance at maximum and 30.87% performance at average. So KARI/FSW team is developing a new processor emulator which based on multi-thread framework with DBT to satisfy the real-time perf

Update laysim-GR740 v0.10 for Evaluation

이미지
laysim-GR740  v0.10 Quad Core Processor Emulator laysim-GR740  consists of two types of emulators:  laysim-gr740  and  laysim-gr740-dbt .  laysim-gr740  is a graphic user interface (GUI)-based and cycle-accurate emulator for the GR740 quad core processor based on interpretation method. It includes an embedded source-level debugger and supports MMU for Linux-SMP, XtratuM-SMP and AIR/GMV.  laysim-gr740-dbt  is a GUI-based high-performance and cycle-approximate processor emulator with dynamic binary translation method.  Both  laysim-gr740  and  laysim-gr740-dbt  support Windows and Linux x64 platform including CentOS 7/8, Ubuntu 18.04 and Debian 10.3. Also two types of CLI (Command Line Interface) version,  laysim-gr740-cli  and  laysim-gr740-dbt-cli , are provided especially for RTEMS5 testsuites. These versions have command line interfaces without a GUI, so the performance of CLI version shows higher than the GUI version of  laysim . laysim-GR740  v0.10 and its user's manual can be

RTEMS5 Testsuites Results on laysim

이미지
The last snapshot of RTEMS5, RTEMS5.0.0-m2005-2, was released a few days ago on May 8th before branching for RTEMS 5 release. According to the distribution of new RTEMS5 snapshots, I summarized the results of RTEMS5 Testsuites for LEON3/4 processors on laysim , TSIM2-LEON3, RTEMS5-SIS and GR712RC/GR740 development boards. More detailed test results can be found in the RTEMS5 with laysim documents from the Download Article. (https://layright.blogspot.com/2020/02/download-laysim-leon3.html) - [RTEMS5-001] Establish RTEMS5 (2010-01-16) Development Environment with laysim - [RTEMS5-002] Establish RTEMS5 (m2005-2) Development Environment with laysim

Release laysim-GR740 for Evaluation

이미지
laysim-GR740 Quad Core Processor Emulator laysim-GR740 consists of three types of emulators: laysim-gr740 ,  laysim-gr740-dbt  and  laysim-gr740-mdbt . laysim-gr740 is a graphic user interface (GUI)-based and cycle-accurate emulator for the GR740 quad core processor based on interpretation method. It includes an embedded source-level debugger and supports MMU for Linux-SMP and XtratuM-SMP. laysim-gr740-dbt is a GUI-based high-performance and cycle-approximate processor emulator with dynamic binary translation method. laysim-gr740-mdbt  is a new parallel GR740 processor emulator which adopts the multi-thread framework with DBT through 2 years development by KARI. It can satisfy the real-time performance of GR740 on a high-end PC such as Intel i9-11900K @5GHz. All  laysim-gr740 ,  laysim-gr740-dbt  and  laysim-gr740-mdbt  support Windows and Linux x64 platform including CentOS 7/8, Ubuntu 18.04 and Debian 10.3. Also two types of CLI (Command Line Interface) version, laysim-gr740

Download laysim-NOELV, laysim-GR740, laysim-GR712RC, and laysim-UT700

Currently the evaluation version of laysim-NOELV (RISC-V/RV64G, quad core),  laysim-GR740  (quad core),  laysim-GR712RC  (dual core), and  laysim-UT700  can be downloaded.  All  laysim  support Windows and Linux x64 platform including CentOS 7/8, Ubuntu 18.04/22.04, openSUSE 12/15 and Debian 10.3. Limitation of laysim The evaluation version of laysim  does not have any execution limitation except acquiring 1 year free license as described in user's manual Chapter 2.2.  KARIDRIVE has been down for a long time due to security issues. If you need laysim, please send an email to jwchoi@kari.re.kr .

laysim Processor Emulator for GR740, GR712RC, UT700 and more..

이미지
I'm Jong-Wook Choi from KARI (Korea Aerospace Research Institute). I'm an on-board flight software engineer in KARI. I've developed the flight software for KOMPSAT-2/3/5/3A, CAS-500 and GEO-KOMPSAT-2A/2B. Currently I involve in developing of the flight software for KOMPSAT-6/7/7A, and KPLO (Korean Pathfinder Lunar Orbiter). For many years, flight software (FSW) has been developed and verified using the software test bed (STB) environment based on the real hardware in KARI. During the development of FSW on the STB, we have experienced lots of annoying problems such as delayed deliver of target hardware, limited concurrent access to the STB from software engineers, and the time and cost to create multiple STBs for different satellites. Thus, software-based satellite simulators have been developed from the beginning of a satellite project to avoid these issues. The software-based simulator enables the FSW to be developed concurrently with the satellite hardware from the in