AI Engine designs can be simulated for functional verification and throughput validation before integration with programmable logic. The following figure shows the validation workflow for the AI Engine beamforming reference design.
Random input test vectors are generated by a MATLAB® script and golden test data are computed by the MATLAB reference model. AI Engine designs are compiled and tested in a System C simulation environment (AI Engine simulator) using the input test vectors. The AI Engine simulation results are stored in data files that record the output samples along with their time stamps. The time duration from the first output sample to the last can be measured by the time stamps, and the number of output samples can be counted. Their quotient gives an estimate of throughput.
The beamforming reference design has 12 output AXI streams, each of which contains the data of eight antennas or eight layers. A makefile is included in the design to compare all 12 outputs with the golden test vectors generated by MATLAB. Table 1 (a) shows a bit-true match with the reference output for the AI Engine beamforming design. The makefile also estimates the throughput from all output files. Table 1 (b) shows that all 12 output AXI streams achieve the target throughput of 800 MSPS with more than 5% margin.
(a) Functional Verification | (b) Throughput Estimation |
---|---|
|
|