2016-07-06 25 views
3

Stellen Sie sich vor, wir haben einen einfachen Code für FPGA, möchte ich wissen, ob es eine Möglichkeit gibt, Inhalt der spezifischen Lookup-Tabelle nach der Synthese zu sehen, tatsächlich, dass Daten in SRAM geschrieben werdenWie Inhalt der Look-up-Tabelle zu sehen

module test8(a,b,c 

    ); 
    input a ; 
    input b ; 
    output c; 

    assign c = a&b; 

endmodule 

Simple AND gate

Antwort

3

die Möglichkeit, auf dem FPGA hängt Anbieter-Tool.

Einige Werkzeuge verfügen über eine grafische Grundrissansicht, in der die verwendeten LUTs gefunden werden können. Diesen LUTs kann dann ein zugeordneter Code für den Speicherinhalt der LUT zugeordnet werden. In Altera Queatus Chip Planner kann es wie folgt aussehen:

enter image description here

Eine weitere Option ist eine Netzliste des gesamten Design zu erzeugen, in der Regel beschreibbaren aus dem FPGA-Tool und das netlist wird dann die LUTs enthalten zusammen mit dem Code für die LUT-Inhalte. In Altera Quartus erzeugt Verilog Netzliste es aussehen könnte:

... 
// Location: LABCELL_X10_Y34_N0 
cyclonev_lcell_comb \c~0 (
// Equation(s): 
// \c~0_combout = (\a~input0 & (\b~input0 )) 

    .dataa(gnd), 
    .datab(gnd), 
    .datac(!\b~input0), 
    .datad(gnd), 
    .datae(gnd), 
    .dataf(!\a~input0), 
    .datag(gnd), 
    .cin(gnd), 
    .sharein(gnd), 
    .combout(\c~0_combout), 
    .sumout(), 
    .cout(), 
    .shareout()); 
// synopsys translate_off 
defparam \c~0 .extended_lut = "off"; 
defparam \c~0 .lut_mask = 64'h000000000F0F0F0F; 
defparam \c~0 .shared_arith = "off"; 
// synopsys translate_on 
... 

Beachten Sie, dass die GUI-Ansicht zeigt, dass das UND-Gatter nur eine einzige einfache LUT nicht implementiert ist, da die Werkzeuge, um die Freiheit, sie umzusetzen hat, wie es scheint passen, solange irgendein Timing und andere Anforderungen beachtet werden.

Aber am Ende wird die spezifische Implementierung und Überlegungen zur LUT-Codierung vom Designer normalerweise ignoriert ... außer in speziellen Debugging-Fällen.

+0

könnte man es im Detail für Xilinx vivado – tohidprogram

+0

Ich habe kein Vivado Beispiel zur Hand haben, aber ich bin ziemlich sicher, dass Sie es bitte erklären finden Sie selbst mit ein paar Mausklicks, jetzt wissen Sie, worauf Sie achten müssen. –