Two FPGA Case Studies Comparing High Level

Two FPGA Case Studies Comparing High Level
1 / 1
Two FPGA Case Studies Comparing High Level - slide 1 of 15 Two FPGA Case Studies Comparing High Level - slide 2 of 15 Two FPGA Case Studies Comparing High Level - slide 3 of 15 Two FPGA Case Studies Comparing High Level - slide 4 of 15 Two FPGA Case Studies Comparing High Level - slide 5 of 15 Two FPGA Case Studies Comparing High Level - slide 6 of 15 Two FPGA Case Studies Comparing High Level - slide 7 of 15 Two FPGA Case Studies Comparing High Level - slide 8 of 15 Two FPGA Case Studies Comparing High Level - slide 9 of 15 Two FPGA Case Studies Comparing High Level - slide 10 of 15 Two FPGA Case Studies Comparing High Level - slide 11 of 15 Two FPGA Case Studies Comparing High Level - slide 12 of 15 Two FPGA Case Studies Comparing High Level - slide 13 of 15 Two FPGA Case Studies Comparing High Level - slide 14 of 15 Two FPGA Case Studies Comparing High Level - slide 15 of 15
Two FPGA Case Studies Comparing High Level Synthesis and Manual HDL for HEP applications Marc-André Tétrault IEEE NPSS Real Time Conference 2018 Williamsburg Overview Whatwhy High Level Synthesis (HLS) First contact account Signal

Related Topics

Download this presentation From Below

"Two FPGA Case Studies Comparing High Level" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

Presentation Transcript

01
Two FPGA Case Studies Comparing High Level Synthesis and Manual HDL for HEP applications Marc-André Tétrault
IEEE NPSS Real Time Conference 2018
Williamsburg<br>
02
Overview What/why High Level Synthesis (HLS)
First contact account
Signal processing design
Flow-through event sorting engine
Take home message IEEE NPSS Real Time Conference 2018 - Williamsburg 2<br>
03
Hardware Description Language (VHDL) process(clk)
begin
if (clk'event and clk = '1')then
q_ResetBLine <= Control(1) xor Control(2);
q_MeanBLine <= Control(2) xor Control(c_Size - 1);

if(q_ResetBaseline = '1')then
q_MeanAcc <= "00" & i_EventStream;
elsif(q_MeanBaseline = '1') then
q_MeanAcc <= q_MeanAcc + i_EventStream;
end if;
end if;
end process; High Level Synthesis (C/C++) int BaseLineMean(int Samples[], int ReturnSamples[])
{
int Mean = 0;
for(int x= 0 ; x < SAMPLE_COUNT; x++)
{
if(x < 4) Mean += Samples[x];
ReturnSamples[x] = Samples[x];
}
Mean >>= 2; // divide by 4
return Mean;
} What is High Level Synthesis Additional declarations and flow control sections IEEE NPSS Real Time Conference 2018 - Williamsburg 3 Example process:
Average of first 4 samples Additional directives to HLS compiler<br>