• <noframes id="6fok0"><bdo id="6fok0"><listing id="6fok0"></listing></bdo>
    <ruby id="6fok0"></ruby>

    <progress id="6fok0"></progress>
  • <progress id="6fok0"></progress>
    <ruby id="6fok0"><table id="6fok0"></table></ruby>
  • <progress id="6fok0"><u id="6fok0"><form id="6fok0"></form></u></progress>

    24小時(shí)聯(lián)系電話(huà):18217114652、13661815404

    中文

    您當前的位置:
    首頁(yè)>
    電子資訊>
    公司新聞>
    為 FPGA 引腳映射器設...

    公司新聞

    為 FPGA 引腳映射器設計


    FPGA 引腳映射器設計

    眾所周知,FPGA IO 名稱(chēng)必須滿(mǎn)足 Verilog VHDL 中的特定語(yǔ)法要求。Altium Designer 原理圖中使用的命名約定并不總是滿(mǎn)足硬件描述語(yǔ)言 (HDL) 指定的這些標準。因此,PCB 網(wǎng)絡(luò )名稱(chēng)和實(shí)際 FPGA 信號名稱(chēng)之間經(jīng)常會(huì )出現不匹配。隨著(zhù)越來(lái)越多的用戶(hù)嘗試使用Altium Designer 中的FPGA Pin Mapper工具,他們會(huì )發(fā)現 Altium Designer 原理圖中使用的命名約定在 FPGA 設計領(lǐng)域可能并不總是合法的。本文將回顧在將 FPGA 納入您的PCB 設計項目時(shí)的一些常見(jiàn)陷阱和克服這些挑戰的方法。

    網(wǎng)絡(luò )命名挑戰

    正如介紹中所提到的,通常會(huì )發(fā)現 PCB 設計使用的 FPGA IO網(wǎng)絡(luò )名稱(chēng)與 FPGA HDL 中的實(shí)際名稱(chēng)不匹配。發(fā)生這種情況的原因很簡(jiǎn)單,因為設計電路板的工程師可能與編寫(xiě) HDL FPGA 設計人員不同步。發(fā)生這種不匹配的另一個(gè)原因是Altium Designer 中使用的網(wǎng)絡(luò )名稱(chēng)本身在 Verilog VHDL 中可能不合法。例如,諸如“\c\h\i\p\_\r\s\t”(在原理圖中表示低電平有效)或 SPI.MISO(從信號線(xiàn)束中引出的網(wǎng)絡(luò ))之類(lèi)的網(wǎng)絡(luò )名稱(chēng)完全是在 Altium Designer 中合法,但在 HDL 中不可接受。要解決“\c\h\i\p\_\r\s\t”,我們需要確保不要使用反斜杠。雖然讓那個(gè)可愛(ài)的小欄顯示您的網(wǎng)名和端口很有趣,但值得嗎?用“_n”(例如“reset_n”)或在其前面加上“n”(例如“nRST”)是人們將在HDL領(lǐng)域使用的一般做法,并且最好與原理圖保持一致因此這賣(mài)。但是,如果您選擇使用 Altium Designer 中的信號線(xiàn)束,則需要一個(gè)額外的步驟。

    示例:信號線(xiàn)束和 FPGA

    在下面的示例中,我們有一個(gè)包含 FPGA IO bank 和一些信號線(xiàn)束的原理圖。

    1:使用帶有 FPGA 的信號線(xiàn)束的簡(jiǎn)單原理圖示例

    如果您仔細查看設計,您會(huì )注意到信號線(xiàn)束無(wú)需斷開(kāi)。我們需要做的就是使用點(diǎn)指示符引用信號線(xiàn)束層次結構:

    2:使用點(diǎn)指示符擴展信號線(xiàn)束

    事實(shí)上,這些信號線(xiàn)束只是單一線(xiàn)束類(lèi)型的實(shí)例化。我們通過(guò)導航到 Place > Harness > Predefined Harness Connector 將它們放置在原理圖上。

    3:重用預定義的線(xiàn)束

    我們的預定義線(xiàn)束連接器如下所示:

    4:預定義線(xiàn)束演示

    在我們的原理圖中,我們已經(jīng)實(shí)例化了三個(gè) SPI 線(xiàn)束:FLASH、SD ACTUATOR。由于我們使用了點(diǎn)指示符,因此我們不需要做任何其他事情。

    一旦我們轉向 FPGA Pin Mapper 工具,我們很快就會(huì )發(fā)現為我們的 FPGA 設計人員提供了非法信號名稱(chēng)。在 SystemVerilog 中,如果我們能夠合成 Interface Modports,這些分層名稱(chēng)對我們很有用,但是,遺憾的是,在撰寫(xiě)本文時(shí),大多數 FPGA 工具都不支持。因此,如果我們決定使用這種網(wǎng)絡(luò )命名方案,整個(gè)引腳命名同步工具對我們沒(méi)有用處。

    解決方案

    為了實(shí)現PCB 設計和 FPGA 綜合工具之間的協(xié)調,我們必須在 HDL 中使用合法的網(wǎng)絡(luò )名稱(chēng)??梢杂泻芏喾椒▉?lái)解決這個(gè)問(wèn)題。在本文中,我們將回顧兩種不同的解決方案。

    第一個(gè)選項可能是保留您的線(xiàn)束分層名稱(chēng)并在 Altium Designer 中執行引腳交換/同步。同步完成后,將更新 FPGA 引腳文件(CSV 格式)以反映 Altium Designer 中執行的更改。這些網(wǎng)絡(luò )名稱(chēng)現在看起來(lái)像不合法的分層名稱(chēng)(例如,“SPI.SDO”)。一個(gè)簡(jiǎn)單的解決方法是在將 CSV 引腳文件導入回 FPGA 設計之前添加一個(gè)使用外部腳本修改 CSV 引腳文件的階段。如果你想在 Altium Designer 中運行這個(gè)操作,這可以是一個(gè) Delphi 腳本。如果您想在 FPGA 工具中運行它,這可能會(huì )在將引腳文件導入 FPGA 綜合工具之前發(fā)生(例如,運行 Vivado 時(shí) TCL 腳本中的這些額外行)。如果你想獨立運行它,

    另一種選擇是擴展信號線(xiàn)束,然后重命名網(wǎng)絡(luò )。一個(gè)簡(jiǎn)單、干凈的方法是用下劃線(xiàn)替換句點(diǎn)(例如,“SPI.MISO 變成”SPI_MISO)像這樣:

    5:使用下劃線(xiàn)代替網(wǎng)絡(luò )名稱(chēng)的句點(diǎn)

    確保將擴展線(xiàn)束與 FPGA IO 網(wǎng)絡(luò )名稱(chēng)分開(kāi),以確保正確的引腳交換。圖 6 展示了擴展線(xiàn)束和 FPGA 網(wǎng)絡(luò )名稱(chēng)本身之間的分離。

    6:擴展信號線(xiàn)束以使用合法的網(wǎng)絡(luò )名稱(chēng)

    這種方法需要在原理圖方面做更多的工作,但可以確保從原理圖捕獲到 FPGA 綜合的干凈過(guò)渡。

    結論

    本文回顧了使用特定網(wǎng)絡(luò )命名約定和FPGA Pin Mapper 工具時(shí)可能面臨的挑戰。出現問(wèn)題的一種特殊情況是信號線(xiàn)束和 FPGA 引腳映射器。使用信號線(xiàn)束的分層網(wǎng)絡(luò )名稱(chēng),用戶(hù)會(huì )發(fā)現這些名稱(chēng)不會(huì )合法地轉換為 FPGA 綜合工具。文章中提供了兩種建議的解決方案:一種側重于腳本自動(dòng)化,另一種需要在原理圖捕獲方面進(jìn)行更多工作。任何一種解決方案都有效。因此,這種額外的設計應該權衡哪種方法最適合他們。

    請輸入搜索關(guān)鍵字

    確定
    色鲁99热99re超碰精品_91精品一区二区三区无码吞精_亚洲国产欧洲综合997久久_一级a性色生活片久久无
  • <noframes id="6fok0"><bdo id="6fok0"><listing id="6fok0"></listing></bdo>
    <ruby id="6fok0"></ruby>

    <progress id="6fok0"></progress>
  • <progress id="6fok0"></progress>
    <ruby id="6fok0"><table id="6fok0"></table></ruby>
  • <progress id="6fok0"><u id="6fok0"><form id="6fok0"></form></u></progress>