2016-07-06 109 views
3

想象一下,我們有一個簡單的fpga代碼,我想知道是否有任何方法可以在合成之後觀看特定lookUp表的內容,實際上那些將寫入SRAM的數據將會被寫入如何查看查詢表的內容

module test8(a,b,c 

    ); 
    input a ; 
    input b ; 
    output c; 

    assign c = a&b; 

endmodule 

Simple AND gate

回答

3

可能性取決於FPGA廠商工具。

某些工具具有可以找到使用的LUT的GUI平面圖視圖,然後這些LUT可以爲LUT的存儲器內容附加相關的代碼。在Altera的Queatus芯片規劃它可能看起來像:

enter image description here

另一種選擇是,以生成完整的設計的網表,一般從FPGA工具可寫的,然後這個網表將與代碼包含的LUT一起LUT的內容。在Altera公司的Quartus產生的Verilog網表它可能看起來像:

... 
// 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 
... 

注意,GUI視圖顯示只使用一個單一的簡單的LUT AND門不落實,因爲這些工具必須實現它,因爲它似乎是自由只要遵守任何時間安排和其他要求。

但最後,關於LUT編碼的具體實現和考慮事項通常被設計者忽略......除了特殊的調試情況。

+0

你可以請詳細解釋一下賽靈思vivado – tohidprogram

+0

我沒有在手Vivado例子,但我敢肯定,你可以找到它你只需點幾下鼠標,現在你就知道該找什麼了。 –