HOME       UP       PREV       NEXT (Simulation)  

High-Level Logic Synthesis from Programming Languages Example

Kiwi (Greaves/Singh) Scientific Accelerator: C\# programs are implemented on FPGA for high-performance with low energy.

Net names generated by the Kiwi tool include program counter 'mpc10' and address, read and write busses for a RAM called QC_SOL with suffixes AD0, RD0 and WD0 respectively. The local variables have lost their original names but can be seen to be named V_n.

»This example was compiled in a mode where one clock cycle should be associated with each instance of Kiwi.Pause in the C\# source code and with even tiny arrays being implemented in RAMs. The waveforms reveal (after careful study) that multiple clock cycles were needed to initiate the RAM despite there being no Kiwi.Pause commands at that point in the user's program.


31: (C) 2008-16, DJ Greaves, University of Cambridge, Computer Laboratory.   TAPE MISSING ICON