Download presentation
Presentation is loading. Please wait.
Published byMelanie Gilbert Modified over 8 years ago
1
Students: Inna Sigal and Yuval Bar-Tal Supervisor: Tsachi Martsiano Spring 2015
2
This project will present a method for accelerating simulation on FPGA by using SW model on FPGA’s embedded CPU.
3
Long RTL Simulations on PC have some limitations: Long runtime. Huge database. The amount of cycles per run is limited.
4
The industries known solutions are: Bought emulation platforms, such as: Palladium, EVE, Veloce. Usually data is driven from external source, such as: PCI, ETH, USB, etc. Usually results are being transmitted to external source for comparison with SW/Matlab algorithms
5
We propose a method, in which the data will be driven and checked internally: A SW model will be generated via the FPGA’s internal CPU. Data will be generated by RTL data generator, or by the 2nd CPU on the FPGA. Results will be checked inside the FPGA.
6
FFS0FFS0 FFS1FFS1 FFS2FFS2 FFS3FFS3 FFS4FFS4 FFs5FFs5 FFS6FFS6 FFS7FFS7 FFS8FFS8 + + ++ *** * * 26 to 17 + 17 to 13 08172635 CO C1 C4 C2 C3 Data outData out We are concentrating on FIR as a test case.
7
SW Model HW Implementation Simulate Both to bit match using DPI Build FPGA+CPU+CHIPSCOPE env Run tests on FPGA
9
SW model – C. HW implementation – Verilog HW simulation – ModelSim with DPI-C Emulator – Xilinx ZedBoard [with ARM dual core CPU] FPGA/CPU SW – Eclipse FPGA tool – Xilinx SDK, and Vivado. Testing – Xilinx ChipScope.
10
DPI stands for Direct Programming Interface. Allows us to call C/Cpp functions from the HW simulation [in our case ModelSim] We will use DPI to call the “algorithm” functions coded in C, and run the HW design besides the “algorithm”.
16
CPU Data gen
17
CPU Data gen
18
CPU Data gen
19
CPU Data gen
20
CPU Data gen
21
CPU Controller The idea: Polling GPIO registers in order to synchronize between the CPU and PL
22
CPU Controller The idea: Polling GPIO registers in order to synchronize between the CPU and PL
23
CPU Controller The idea: Polling GPIO registers in order to synchronize between the CPU and PL
24
PL CPU DUT results Software model results
25
Data gen
26
FFS0FFS0 FFS1FFS1 FFS2FFS2 FFS3FFS3 FFS4FFS4 F s5 FFS6FFS6 FFS7FFS7 FFS8FFS8 + + ++ *** * * 26 to 17 + 17 to 13 08172635 CO C1 C4 C2 C3 Da t a ou t
27
FFS0FFS0 FFS1FFS1 FFS2FFS2 FFS3FFS3 FFS4FFS4 F s5 FFS6FFS6 FFS7FFS7 FFS8FFS8 + + ++ *** * * 26 to 17 + 17 to 13 08172635 CO C1 C4 C2 C3 Da t a ou t
28
FFS0FFS0 FFS1FFS1 FFS2FFS2 FFS3FFS3 FFS4FFS4 F s5 FFS6FFS6 FFS7FFS7 FFS8FFS8 + + ++ *** * * 26 to 17 + 17 to 13 08172635 CO C1 C4 C2 C3 Da t a ou t
29
SW Model HW Implementation Simulate Both to bit match using DPI Build FPGA+CPU+CHIPSCOPE env Run tests on FPGA
30
SW Model HW Implementation Simulate Both to bit match using DPI Build FPGA+CPU+CHIPSCOPE env Run tests on FPGA
31
SW Model HW Implementation Simulate Both to bit match using DPI Build FPGA+CPU+CHIPSCOPE env Run tests on FPGA
32
SW Model HW Implementation Simulate Both to bit match using DPI Build FPGA+CPU+CHIPSCOPE env Run tests on FPGA
33
Build FPGA+CPU+CHIPSCOPE env SW Model HW Implementation Simulate Both to bit match using DPI Run tests on FPGA
34
Build FPGA+CPU+CHIPSCOPE env Run tests on FPGA SW Model HW Implementation Simulate Both to bit match using DPI
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.