So C Design Methodology HWSW Cosimulation HWSW Cosimulation

  • Slides: 64
Download presentation
So. C Design Methodology/ HW/SW Co-simulation 실습 HW/SW Co-simulation 실 습 하순회 (서울대학교, 컴퓨터공학부)

So. C Design Methodology/ HW/SW Co-simulation 실습 HW/SW Co-simulation 실 습 하순회 (서울대학교, 컴퓨터공학부) Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 과목 개요(Learning Map) Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 과목 개요(Learning Map) Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 (모듈17) HW/SW Co-simulation 실 습 n 학습

So. C Design Methodology/ HW/SW Co-simulation 실습 (모듈17) HW/SW Co-simulation 실 습 n 학습 목표 ¨ n TLM 방식의 Co-simulation을 수행하는 방법을 익히고 이를 이 용하여 설계 공간탐색을 하는 방법을 배우도록 한다. 선수지식 HW/SW Co-simulation 기술 ¨ System. C 언어 ¨ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 목차 n n Introduction SW Simulation using

So. C Design Methodology/ HW/SW Co-simulation 실습 목차 n n Introduction SW Simulation using ADS 1. 2 SW 구현에서의 TLM Simulation HW/SW 통합설계에서의 TLM Simulation Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Reminder: TML Co-simulation System Specification Architecture specification

So. C Design Methodology/ HW/SW Co-simulation 실습 Reminder: TML Co-simulation System Specification Architecture specification Functional Simulation TLM co-simulation Matlab/Simulink Synopsys CCSS Co. Ware Convergen. SC Axys Max. Sim Manual DSE HW RTL modeling Copyrightⓒ 2003 RTL co-simulation Mentor Seamless CVE Proto-typing board HW synthesis Various CAD tools

So. C Design Methodology/ HW/SW Co-simulation 실습 Virtual prototyping of JPEG SW Implementation with

So. C Design Methodology/ HW/SW Co-simulation 실습 Virtual prototyping of JPEG SW Implementation with ARM 926 ej-s JPEG Encoder Software Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 목차 n n Introduction SW Simulation using

So. C Design Methodology/ HW/SW Co-simulation 실습 목차 n n Introduction SW Simulation using ADS 1. 2 ¨ Embed example n n Compiling using Code. Warrior IDE Simulation and Verification using Ax. D SW 구현에서의 TLM Simulation HW/SW 통합설계에서의 TLM Simulation Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 What are we doing? n n First,

So. C Design Methodology/ HW/SW Co-simulation 실습 What are we doing? n n First, we must develop algorithms and verify it. We need some toolkits which are suitable to target processor. : Ax. D toolkit for ARM 926 EJ-S Now, we are here! SW CPU BUS Copyrightⓒ 2003 develop algorithm SW CPU HW BUS

So. C Design Methodology/ HW/SW Co-simulation 실습 실습 개관 n Practice flow Load Embedded

So. C Design Methodology/ HW/SW Co-simulation 실습 실습 개관 n Practice flow Load Embedded SW example project ¨ Compile ¨ Simulate Example with Ax. D ¨ n Embedded SW example ¨ A simple C program for embedded applications including retargeting functions for stack, heap, and I/O Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 About the ARM Developer Suite n ARM

So. C Design Methodology/ HW/SW Co-simulation 실습 About the ARM Developer Suite n ARM Developer Suite consists of ¨ Code Generation Tools n C and Embedded C++ compilers, Assembler and Linker for ARM and Thumb® instruction sets An Integrated Development Environment for Windows Code. Warrior® IDE ¨ GUI debugger - ARM e. Xtended Debugger (AXD) and ARM symbolic debugger (armsd) ¨ Instruction set simulators – providing accurate simulation of ARM and Thumb core-based processors ¨ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Components of ADS version 1. 2 n

So. C Design Methodology/ HW/SW Co-simulation 실습 Components of ADS version 1. 2 n n Command-line development tools GUI development tools Utilities Supporting software AXD armcc ARM C compiler. ARM e. Xtended Debugger armcpp ARM C++ compiler. tcc Thumb C compiler. Code. Warrior IDE tcpp Thumb C++ compiler. The project management tool armasm ARM and Thumb assembler. armlink ARM linker. armsd ARM and Thumb symbolic debugger. Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Experimentation n Step 1. Start Code. Warrier

So. C Design Methodology/ HW/SW Co-simulation 실습 Experimentation n Step 1. Start Code. Warrier IDE ¨ n Select Start →Programs → ARM Developer Suite v 1. 2 → Code. Warrior for ARM Developer Suite Step 2. Open a project ¨ Select Open from the File menu. Select the project file and click Open. ¨ Select embed. mcp ¨ n Step 3. Select “build target” Click the build target drop-down list to select the current build target. ¨ Select Semihosted ¨ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Semihosting is a mechanism for ARM targets

So. C Design Methodology/ HW/SW Co-simulation 실습 Semihosting is a mechanism for ARM targets to communicate input/output requests from application code to a host computer running a debugger. Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 4. Target setting Click

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 4. Target setting Click icon on toolbar Settings Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n n Step 5. Build the

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n n Step 5. Build the project by clicking “Build” button Step 6. Run the Ax. D by clicking “Debug” button Click the Debug button to run Ax. D Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 7. Select and configure

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 7. Select and configure the Debugger Target ¨ Click the Configure Target… on the Option menu of Ax. D ¨ When you can see the target you want in the list, click the Configure button Click Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 8. Configure ARMulator ¨

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 8. Configure ARMulator ¨ Select ‘ARM 926 EJ-S’ The ARMulator Configuration dialog enables you to examine and change the following settings: Processor Clock Options Debug Endian Start targe Endian … Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Ax. D with Disassembly processor view A

So. C Design Methodology/ HW/SW Co-simulation 실습 Ax. D with Disassembly processor view A blue arrow indicates the current execution point Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 9. Run a program

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 9. Run a program Select Go from the Execute menu (or press F 5) to begin execution on the target processor. ¨ Execution stop at the beginning of function main(), where a breakpoint is set by default. ¨ n Step 10. Set a breakpoint and step through the program A red disc and marker indicate the line where a breakpoint is set. ¨ Select Go from the Execute menu (or press F 5) again to continue execution. OR Select Step from the Execute menu (or press F 5) again to step through the execution ¨ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Result (Hello World. . !) Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Result (Hello World. . !) Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 JPEG SW on Ax. D n 실습

So. C Design Methodology/ HW/SW Co-simulation 실습 JPEG SW on Ax. D n 실습 내용 1. 2. 3. 4. 5. 6. 7. Embed example 이용하여 JPEG Memory Map 수정한다. 기존 serial. c uart. c main. c 삭제한다 JPEG SW main. c util. h rt_misc. h 추가한다. JPEG SW Scatter 파일을 설정한다. (Memory Map 참고) Compile을 한다. AXD로 compile된 코드를 실행한다. ISS 결과를 확인한다. Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 JPEG Experiment n Step 1. Select build

So. C Design Methodology/ HW/SW Co-simulation 실습 JPEG Experiment n Step 1. Select build target ¨ n Select Embedded. Scatter target Step 2. Replace and add files in the project serial. c uart. c main. c 삭제, main. c util. h rt_misc. h 추가. ¨ Select Add Files… from the Project menu to add one or more files to the current project. ¨ Settings Click ‘OK’ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 3. Load the ROM

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 3. Load the ROM image at address 0 x 0 Following reset, the processor starts to fetch instructions from 0 x 0. ¨ Scatter loading provides a flexible mechanism for mapping code and data onto your memory map: The scatter-load description file, scat_b. scf. ¨ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Address Map ROM_LOAD_1 0 x 0 0

So. C Design Methodology/ HW/SW Co-simulation 실습 Address Map ROM_LOAD_1 0 x 0 0 x 1 ffff { ROM_EXEC 0 x 0 0 x 1 ffff { vectors. o (Vect, +First) * (+RO) } } RAM_LOAD_2 0 x 10000000 0 x 3 ffff { STACK 0 x 10008000 UNINIT { stack. o (+ZI) } } RAM_LOAD_3 0 x 90000000 0 x 1 fffff { RAM 0 x 90000000 0 xfffff { * (+RW, +ZI) } HEAP +0 UNINIT { heap. o (+ZI) } } Copyrightⓒ 2003 0 x 0000 ROM 0 x 0001 FFFF 0 x 10000000 0 x 10008000 0 x 1003 FFFF 0 x 90000000 0 x 900130 d 4 0 x 9001 FFFF 0 x 900 FFFFF 0 x. FFFF Vectors/init code Main code Stack Input BMP image Output jpeg image Heap

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n n Step 4. Build the

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n n Step 4. Build the project Step 5. Run a program Click the Debug button to run Ax. D ¨ Select Go from the Execute menu (or press F 5) to begin execution on the target processor ¨ Execution stop at the beginning of function main(), where a breakpoint is set by default. ¨ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Step 6 - Load Memory From File

So. C Design Methodology/ HW/SW Co-simulation 실습 Step 6 - Load Memory From File To load the contents of a file into memory, select Load Memory From File… from the File n Specify in the Address field the memory address at which to start loading the contents of the selected field Input Address Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Examine the contents of memory n The

So. C Design Methodology/ HW/SW Co-simulation 실습 Examine the contents of memory n The Memory processor view enables you to examine and change the contents of specific memory addresses. ¨ Select Memory from the Processor Views menu. Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n n n Step 7. Execute

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n n n Step 7. Execute JPEG SW on Ax. D Step 8. Examine the contents of memory (0 x 900130 d 0) Step 9. Save memory to file ¨ n To save the contents of an area of memory to a disk file, select Save Memory To File. . . From the File menu. This dialog enables you to specify the: - starting address of the area of memory to save - number of bytes of memory to save - name of a file in which to save it Output Address Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 ISS Result (JPEG image) Bitmap JPEG Use

So. C Design Methodology/ HW/SW Co-simulation 실습 ISS Result (JPEG image) Bitmap JPEG Use “xv” image viewer application. ex) % xv lsh. jpg Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 목차 n n n Introduction SW Simulation

So. C Design Methodology/ HW/SW Co-simulation 실습 목차 n n n Introduction SW Simulation using ADS 1. 2 SW 구현에서의 TLM Simulation Getting started with Co. Centric System Studio ¨ Build JPEG Platform using CCSS ¨ n HW/SW 통합설계에서의 TLM Simulation Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Virtual prototyping of JPEG SW n For

So. C Design Methodology/ HW/SW Co-simulation 실습 Virtual prototyping of JPEG SW n For Cycle-accurate TLM simulation, we need Transaction-level CPU model ¨ Transaction-level Bus model ¨ n Design. Ware System. C library for ARM cores (ARM 926 EJ-S) ¨ AMBA (AHB) ¨ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 What you will do DW_example Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 What you will do DW_example Copyrightⓒ 2003 완성할 DW_example

So. C Design Methodology/ HW/SW Co-simulation 실습 Overall Procedure 1. 2. 3. 4. 5.

So. C Design Methodology/ HW/SW Co-simulation 실습 Overall Procedure 1. 2. 3. 4. 5. 6. 7. 8. 9. Make a new workspace. Import the Design. Ware ARM process LIB. Import the Given DW_example LIB. Add arm 926 ej-s processor. Add interrupt controller. Connect the ports. Check design. Setting Simulation Control File. Create codes (compile). Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Experimentation n Step 1. Start with Co.

So. C Design Methodology/ HW/SW Co-simulation 실습 Experimentation n Step 1. Start with Co. Centric System Studio ¨ n To start System Studio, enter the following command % source. ccssenv % ccss & Step 2. Create a Workspace ¨ Choose File > New from the menu bar. ¨ Type the name of your new workspace in the dialog box and click ‘OK’ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Models With Workspace Tree View Library Page

So. C Design Methodology/ HW/SW Co-simulation 실습 Models With Workspace Tree View Library Page Tabs Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 3. Create a Library

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 3. Create a Library Choose File > New from the memu bar. ¨ Type the name in Name field, and click ‘OK’ ¨ n Step 4. Add the Processor Model Library ¨ ¨ ¨ Click “Add Existing Library to Workspace” after selecting the workspace name Move to following directory /export/home/TA/synopsys/2003. 12/ccss/models/architectural/d w_arm_processors_sc Add following LIB: dw_arm_processors. ssl Click ‘dw_arm_processors’ You can see ‘DW_arm 926 ejs’ model in the workspace tree view. Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 5. Add Example Model

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 5. Add Example Model Right Click ¨ Click ‘Add Existing Models’ ¨ Move to ‘~/DW_LIB/TLM_of_JP EG_SW_Platform’ ¨ Select DW_example. mdb ¨ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 6. Complete the architecture

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 6. Complete the architecture graph: ARM 926 ej-s DW_example Copyrightⓒ 2003 완성된 DW_example

So. C Design Methodology/ HW/SW Co-simulation 실습 Partial view of JPEG SW Platform Copyrightⓒ

So. C Design Methodology/ HW/SW Co-simulation 실습 Partial view of JPEG SW Platform Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 7. Configure Objects ¨

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 7. Configure Objects ¨ ¨ ¨ ITC: name = “intr_gen 1”, n Set ‘Slave. ID Value’ to 3. n Input arguments: $name, intr. Gen. Start. Addr, intr. Gen. End. Addr, “”, Big. Endian n Public constructors: bool big_endian = false Processor: name = ARM 926 n Set ‘Master. IDibiu” to 1, ‘Master. IDdbiu” to 2 n Input arguments: $name, 1, true, Big. Endian, Prog. Name, Debugger Clock Line: name = clock n Set “type” to “sc_clock” Itcm: name = Itcm n Constructor arguments: $name, TCM_4 KB, 0 xff 000 Dtcm: name = Dtcm n Constructor arguments: $name, TCM_4 KB, 0 xff 000 Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 8. Check the design

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 8. Check the design Click icon on toolbar Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n n Step 9. Set simulation

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n n Step 9. Set simulation start options Step 10. Edit a simulation control file Move to following directory /export/home/class. XX/TLM_Design/examples. scf Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Edit a Simulation Control File Address Map

So. C Design Methodology/ HW/SW Co-simulation 실습 Edit a Simulation Control File Address Map 0 x 0000 0 x 0001 FFFF 0 x 10000000 0 x 1003 FFFF Prog. Mem(128 K) Stack. Mem(256 K) 0 x 90000000 Data. Mem(2 M) 0 x 9001 FFFF 0 x. FFFF n. Intr. Gen - Interrupt Generator - 0 xb 0000000 - 0 xb 00003 ff. n. Itcm - Instruction Tightly Coupled Memory - 4 K starting at 0 xff 000. n. Dtcm - Data Tightly Coupled Memory - 4 K starting at 0 x 20000. Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 11. Compile ¨ n

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 11. Compile ¨ n Click ‘code generation’ tab and click ‘create’ Step 12. Simulate the TLM Start simulation Continue simulation Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 13. Configure Ax. D

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 13. Configure Ax. D When Ax. D appears, the Choose Target window will be open and pointing to the default ARMulate. dll file ¨ In the Choose Target window, choose Add and navigate to the ipcrdi. dll ¨ Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 14. Load a Program

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 14. Load a Program from Ax. D Choose File, and then Load Image. ¨ Use the file navigator button to locate the desired target application (jpeg. axf). ¨ Select the target program and click Open. ¨ The target program is loaded into the simulation’s program memory ¨ n Step 15. Set a break point Right-click on line to position the cursor there and display the popup menu, and select Toggle Break point. ¨ A red disc and a marker indicate the line where a breakpoint is set. ¨ n Step 16. Execute JPEG on Ax. D ¨ Select Go from the Execute menu (or press F 5) to begin execution on the target. Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 17. Examine the contents

So. C Design Methodology/ HW/SW Co-simulation 실습 Continue… n Step 17. Examine the contents of memory ¨ n Select Memory from the Processor Views menu and move or resize the window if necessary. (0 x 900130 d 0) Step 18. Save memory to File ¨ To save the contents of an area of memory to a disk file, select Save Memory To File. . . From the File menu. Output Address Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 TLM Simulation Results n JPEG Image ¨

So. C Design Methodology/ HW/SW Co-simulation 실습 TLM Simulation Results n JPEG Image ¨ Use “xv” image viewer application: ex) % xv lsh. jpg n Simulation Time n Statistics ¨ Type ‘print $statistics’ in command line interface Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 목차 n n Introduction SW Simulation using

So. C Design Methodology/ HW/SW Co-simulation 실습 목차 n n Introduction SW Simulation using ADS 1. 2 SW 구현에서의 TLM Simulation HW/SW 통합설계에서의 TLM Simulation Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Moving DCT block to HW n Attach

So. C Design Methodology/ HW/SW Co-simulation 실습 Moving DCT block to HW n Attach HW IP to the Platform: DCT_1 AHB BUS Hardware Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 What are we doing? n Now, we

So. C Design Methodology/ HW/SW Co-simulation 실습 What are we doing? n Now, we are about to study the interface between bus and processor. SW CPU BUS Now, we are here! Copyrightⓒ 2003 Virtual prototyping platform SW CPU HW BUS

So. C Design Methodology/ HW/SW Co-simulation 실습 Communication flow AHB MASTER AHB SLAVE Request

So. C Design Methodology/ HW/SW Co-simulation 실습 Communication flow AHB MASTER AHB SLAVE Request Response ISS Copyrightⓒ 2003 AHB BUS Set_data Control Info. Set_data DCT

So. C Design Methodology/ HW/SW Co-simulation 실습 DCT HW slave Address Map 0 x

So. C Design Methodology/ HW/SW Co-simulation 실습 DCT HW slave Address Map 0 x 0000 Primitive Port 0 x 90020000 Clock Port DCT HW block I/O Register 0 x 90020000+63 Flag Register 0 x 90020000+64 0 x. FFFF Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Debugging Environment DCT Skeleton Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Debugging Environment DCT Skeleton Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Adding DCT TLM Block Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Adding DCT TLM Block Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Checking DCT block Click Result Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Checking DCT block Click Result Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Device Driver for DCT n Device Drivers

So. C Design Methodology/ HW/SW Co-simulation 실습 Device Driver for DCT n Device Drivers (for our DCT) ¨ ¨ ¨ Initialize the device (X) Configure the device parameters (X) Transfer data from/to the device (O) Start the device (O) Stop the device (O) Handle the interrupts from the device (O) n (By polling the status register) Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 JPEG Co-design C codes for co-design Original

So. C Design Methodology/ HW/SW Co-simulation 실습 JPEG Co-design C codes for co-design Original C codes ~~~~~ WRITE_DATA_TO_DCT(); START_DCT(); HW DCT WAIT_DONE_OF_DCT(); READ_DATA_FROM_DCT(); ~~~~~ Copyrightⓒ 2003 ~~~~~

So. C Design Methodology/ HW/SW Co-simulation 실습 Device Driver APIs for DCT n n

So. C Design Methodology/ HW/SW Co-simulation 실습 Device Driver APIs for DCT n n WRITE_DATA_TO_DCT(int *data, int size); START_DCT(); WAIT_DONE_OF_DCT(); READ_DATA_FROM_DCT(int *data, int size); Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Device Driver APIs n WRITE_DATA_TO_DCT(int *data, int

So. C Design Methodology/ HW/SW Co-simulation 실습 Device Driver APIs n WRITE_DATA_TO_DCT(int *data, int size) { for (int i = 0; i < size; i++) { *((int *) DCT_WRITE_ADDR + i) = *(data + i); } } n START_DCT() { *((int *) DCT_START_ADDR) = VAL_DCT_START; } Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 Device Driver APIs n WAIT_DONE_OF_DCT() { int

So. C Design Methodology/ HW/SW Co-simulation 실습 Device Driver APIs n WAIT_DONE_OF_DCT() { int done_flag = *((int *) DCT_DONE_ADDR); while (done_flag != VAL_DCT_DONE) { done_flag = *((int *) DCT_DONE_ADDR); } } n READ_DATA_FROM_DCT(int *data, int size) { for (int i = 0; i < size; i++) { *(data + i) = *((int *) DCT_WRITE_ADDR + i); } } Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 JPEG TLM Co-simulation n n JPEG SW를

So. C Design Methodology/ HW/SW Co-simulation 실습 JPEG TLM Co-simulation n n JPEG SW를 TLM JPEG codesign Platform에서 시뮬레 이션 하여 AXD만으로 또는 TLM Virtual prototyping of JPEG SW implementation에서 시뮬레이션 한 결과와 같 음을 확인한다. 수행 사이클 수와 수행시간을 비교한다. Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 평가 문제 Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 평가 문제 Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 참고 문헌 Copyrightⓒ 2003

So. C Design Methodology/ HW/SW Co-simulation 실습 참고 문헌 Copyrightⓒ 2003