Helfen Sie mir, einen HLS-Quellcode zu schreiben, um einen FPGA-Hardwarebeschleuniger für einen Streaming-basierten linearen Ebenenaccerator zu erstellen. Bitte verwenden Sie die Vitis HLS-Bibliotheken einschließlich `hls_math.h`, `hls_stream.h` und `ap_fixed.h`. Die Eingänge zum Kernel sind ein Stream für den Eingabevektor und zwei feste Arrays für die Gewichte und Bias. Alles verwendet feste Punktetypen von `ap_fixed<32,10>`.
Klar, hier ist ein Samplecode für einen FPGA Hardwarebeschleuniger für einen streamingbasierten Linearschichtbeschleuniger mit Vitis HLS Bibliotheken ``` #include "hls_math.h" #include "hls_stream.h" #include "ap_fixed.h" // Definieren Sie die Datentypen typedef ap_fixed <32,10> fixed_type; typedef hls::stream<fixed_type> stream_type; // Definieren Sie die lineare Schichtfunktion void linear_layer(stream_type& input_stream, fixed_type weight[], fixed_type bias[], stream_type& output_stream) { // Legen Sie die Anzahl der Input- und Outputwerte const int N = 1024; // Führen Sie die lineare Schichtberechnung für(int i = 0; i < type& input_value_stream; i++) {type input_value = input_value_stream_