Team Slytherin

From Cpre584
Jump to navigation Jump to search

Team Members

  • Kevin Townsend
  • Bhavani Satyanarayana Rao
  • Chidvila Gaddam

Assignment1

  1. Review Docs
    1. Convey PDK Reference Manual

Custom Personality Development: Analyze Application Evaluate Hardware Options Define Custom Instructions Develop Software Model of Custom Personality Modify Application to Use Coprocessor Compile Application with Convey Compiler Simulate Application with Convey Architecture Simulator Develop FPGA Hardware Simulate Hardware in Convey Simulation Environment Integrate with Convey Hardware

    1. Convey Programmers Guide
    2. Convey Reference Manual


  1. Understand how Vector Adder example works

For the implementation of the vector adder example the make file from the SampleAppVadd is run to generate the UserApp execution file. The UserApp.c file is the software code for the addition implementation. It assumes a default vector size of 100, however can inline arguments for different sizes. It gets vector PDK signature and

    1. Allocates co processor memory for 2 arrays of numbers.
    2. Polpulates arrays with 64 integers.
    3. Call the co processor rooutine to sum the numbers.

It also compares the actual output with the co processor output and prints message based on true or false.

The UserApp.c calls for the cpTestEx1 and cpTestEx2 routines which are implemented in cpTest1.s The makefile compiles the C code(UserApp.c) and the assembly code(cpTest1.s) using the GNU compiler to generate the UserApp.o with both x86-64 and Convey coprocessor instructions.

The CaeSimPers acts as an emulator for the output.

  1. Implement Vector Adder example ( SW, ModelSim, HW)

The implementation of the example in Software(host processor), Modelsim(Simulator) or the hardware(Co processor) can be realized by setting the appropriate environmental values for CNY_SIM_THREAD and CNY_CAE_EMULATOR.

Software(Host Processor) Modelsim(Simulator) Hardware(Co Processor)
CNY_SIM_THREAD libcpSimLib2.so libcpSimLib2.so
CNY_CAE_EMULATOR path for CaeSimPers

Alternatively, running the application using run, runcp, run simulator from the SampleAppVadd also helps realize the same.