0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

MachXO迷你開發(fā)板加快了FPGA設計的開發(fā)速度

電子設計 ? 來源:網(wǎng)絡整理 ? 作者:佚名 ? 2019-11-25 07:54 ? 次閱讀

許多中等規(guī)模的可編程邏輯器件(PLD)設計,特別是控制方面的應用,通過片上總線互聯(lián)一些接口微處理器,這些微處理器可以是片上芯片或外部的。雖然每個接口往往是相對簡單的,構建所有片上的互連和對它們進行調(diào)試的任務可能會非常耗時和令人沮喪。越來越多的設計人員使用預設計的基于處理器系統(tǒng)的開發(fā)板來加快開發(fā)過程。

這種方法有幾個好處。首先,沒有必要裝配許多IP或構建選擇的IP至片上總線的緩沖。此外,片上總線結構不需要選擇和構建。第二是沒有必要手工連接各種IP至片上總線。即使是本文中討論的相對較小的設計,使用約1000個查找表(LUT),對于頂層的連接大約需要300行的 Verilog代碼。第三,使用這種方法構建硬件的時間大大減少。設計人員可能需要花數(shù)天時間來組成基本的硬件部分,并進行所有重要的接口調(diào)試。一旦調(diào)試接口工作使設計已經(jīng)處于穩(wěn)定狀態(tài),添加或刪除接口就變得非常簡單。此外,如果修改設計導致調(diào)試接口失敗,很容易返回到最近所知的成功設計版本。

典型的開發(fā)板

這里以開發(fā)環(huán)境為實例,允許設計人員用預先設計的系統(tǒng)作為起點,然后修改它來構建自己的樣機,在將它移植到最終的系統(tǒng)之前使用萊迪思的MachXO迷你開發(fā)板。雖然適用于許多應用場合,這個電路板最適用于控制設計,這種設計往往用小型的非易失可編程邏輯器件來實現(xiàn)。圖1說明了典型的用可編程邏輯器件實現(xiàn)控制應用的功能。

MachXO迷你開發(fā)板加快了FPGA設計的開發(fā)速度

圖1用可編程邏輯器件實現(xiàn)的典型控制功能

迷你開發(fā)板的中心是MachXO2280非易失、基于閃存的擁有2280個LUT邏輯實現(xiàn)的可編程邏輯器件。圖2展示了MachXO迷你開發(fā)板,并對主要接口加了注釋。這個電路板提供五種主要的功能:

1、通過發(fā)光二極管組、擴展端、DIP開關和按鈕開關提供GPIO和狀態(tài)指示器。

2、 SPI閃存和I2C溫度傳感器用作這些常用串行接口的例子。

3、SRAM內(nèi)存提供了額外的便箋式存儲器。

4、通過USBRS232提供了一個調(diào)試接口。

5、通過USB的JTAG用作對器件編程的接口。

對于開發(fā)過程而言,通過USB接口至RS232的方式和通過USB至 JTAG的方式是至關重要的。利用這兩個小的“B”型的USB連接器,可以通過電纜連接到任何個人電腦的USB接口。一旦加載適當?shù)尿?qū)動程序(適用于Windows XP及更高版本),通過USB接口至JTAG的方式允許萊迪思的ispVM軟件對所需修改設計的MachXO進行編程。采用相應的驅(qū)動程序,通過USB接口至RS232的方式對通過USB至RS232的方式進行仿真。驅(qū)動程序包括Linux最新版本,也可用于Windows XP及更高版本。串行端口只作為主機的“COM”端口。此接口為片上設計提供了一個簡便的方法,用于發(fā)送狀態(tài)及適當修改、調(diào)試信息至主處理器。

MachXO迷你開發(fā)板加快了FPGA設計的開發(fā)速度

圖2 MachXO迷你開發(fā)板

預測試的片上系統(tǒng)設計

迷你開發(fā)板加速開發(fā)的關鍵是采用預開發(fā)的,預加載的片上系統(tǒng)(SOC)設計,可以作為用PLD實現(xiàn)控制功能的起點。下面是一個典型的開發(fā)流程和相關的時間,假設相應的軟件工具和驅(qū)動程序已被加載至PC主機:

1、驗證硬件和接口的正常運行如所期望的那樣。(通常為5分鐘。)此刻設計人員已經(jīng)了解了硬件情況。

2、確認可以使用ispVM編程軟件將FPGA配置文件再次載入MachXO。 (通常為5分鐘。)

3、使用ispLEVER設計軟件重新編譯設計,并確認所產(chǎn)生的配置如預期的情況工作。 (通常為10分鐘。)此時,設計者有一個已知的良好起點。

4、首先修改設計,重新編譯并加載新的配置。(通常是60分鐘,但實際的時間取決于所修改的量。)

按照這個開發(fā)流程,初始開發(fā)需要幾個星期的時間可以減少到數(shù)小時。SoC設計的概況如圖3所示??梢钥吹皆O計由六個接口和一個微處理器組成,并通過一個片上總路線聯(lián)在一起。

MachXO迷你開發(fā)板加快了FPGA設計的開發(fā)速度

圖3 MachXO迷你板預裝載了SOC設計

這個設計的中心是片上總線。使用WISHBONE標準:WISHBONE是一個開放源代碼的總線標準,為SOC設計提供了一個理想的基本結構。WISHBONE標準的優(yōu)點有以下幾個方面:

· WISHBONE是開放源代碼,所以可以用于各種FPGA或ASIC

· 有大量的適用于WISHBONE接口開放源碼IP。

· 簡單但靈活的定義使設計人員能夠?qū)π阅艿膹碗s性進行平衡。

由于許多用于控制的可編程邏輯器件的性能要求相對較低,Wishbone總線是與主微處理器作為主器件(master)的共享總線。地址總線有24位,保留的前3位用于產(chǎn)生從器件的選擇信號

LatticeM

ico8(參考設計RD1026)和相關的WISHBONE適配器(RD1043)用于構成設計核的處理器。Mico8具有開放源代碼的優(yōu)點。這是非常重要的,因為設計人員通常要為嵌入式處理器開發(fā)大量的代碼。LatticeMico8開放源代碼的性質(zhì)意味著它可以在各種FPGA或ASIC中實現(xiàn),保護了嵌入式代碼的投資。

Mico8有8位的數(shù)據(jù)通道,18位寬的指令和16或32個通用寄存器。外部存儲器是分頁的,前面的8位地址包含在相關操作碼中。用R15和R16寄存器控制地址總線的其他16位。程序存儲器可以設置成512和4096之間的深度。在這種情況下,使用18位寬可達1024深度。程序存儲器存儲在兩個嵌入式RAM塊(EBR.)中,這些可以被初始化為器件啟動時所需的內(nèi)容。請注意,每個MachXO EBR支持9位字節(jié),深度達1024。Mico8大約使用300個LUT。

通過修改匯編清單可以很容易地生成針對Mico8的新代碼,匯編清單是作為項目文件的一部分。于是通過修改后的代碼可以LatticeMico8工具鏈和生成的相應HEX文件。ispLEVER工具可以使用這些HEX文件,合適地初始化EBR用于編程的存儲。Mico8工具鏈也是開放源代碼,可從萊迪思網(wǎng)站下載源代碼以及可執(zhí)行文件。

其他的EBR存儲器連接到Wishbone總線。這個EBR配置成1024深度 8位字節(jié)。針對通過RS232接口的Mico8顯示的各種菜單,存儲空間是用來共享數(shù)據(jù)。

SPI接口利用了萊迪思的SPI WISHBONE控制器參考設計(RD1044)的修改版本。 SPI接口連接外部2兆位的SPI閃存至Wishbone總線。如果需要的話,SPI WISHBONE控制器可以用來控制多達8個從器件(slave)。盡管在這種情況下使用了8位寄存器,接收和發(fā)送寄存器可配置為1到32位長度,。寄存器是雙緩沖的,當微處理器服務響應中斷請求以清除其他緩沖區(qū)時,允許接收或發(fā)送數(shù)據(jù)。這個參考設計大約使用了113個LUT。這個I2C接口使用了Wishbone總線接口的萊迪思的I2C主器件(master)參考設計(RD1046)。這個設計支持7位或10位尋址模式和一個8位接收/發(fā)送緩沖器。I2C參考設計大約使用了234個LUT。

UART的設計采用了Lattice WISHBONE UART參考設計(RD1042.)。這個設計用類似常用的獨立NS16450 UART功能實現(xiàn)了一個靈活的UART。設計占用大約291個LUT的資源。 SRAM接口相對比較簡單,是針對這個項目的代碼。這是一個簡單的WISHBONE外設的很好的例子。

整合所有的一切

MachXO迷你開發(fā)板的目標是為了加快小的、非易失FPGA設計的開發(fā)速度。為了實現(xiàn)這一點,所有在本文中討論的關于系統(tǒng)芯片設計的信息可作為一個軟件包從萊迪思網(wǎng)站上下載。而且,除了文件和源文件,針對所討論的SoC設計,還提供了一個完整的ispLEVER項目,以及TransFR和使用睡眠模式以減少功耗的演示。提供的信息包括項目文件和所有必要的優(yōu)先選擇和約束,以便在第一時間編譯設計。

因此,如果要對你系統(tǒng)中的PLD控制設計進行全面的修改,請仔細看看這個開發(fā)系統(tǒng)和預測試的設計。它可以為你的下一個設計節(jié)省幾周的時間。

責任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19052

    瀏覽量

    228578
  • FPGA
    +關注

    關注

    1624

    文章

    21580

    瀏覽量

    600788
  • PLD
    PLD
    +關注

    關注

    6

    文章

    221

    瀏覽量

    59288
收藏 人收藏

    評論

    相關推薦

    Altium推出智能FPGA開發(fā)板NanoBoard 300

    Altium推出智能FPGA開發(fā)板NanoBoard 3000產(chǎn)品系列 Altium 宣布推出 NanoBoard FPGA 開發(fā)板產(chǎn)品系列的最新產(chǎn)品。 NanoBoard
    發(fā)表于 11-04 17:01 ?1178次閱讀

    fpga開發(fā)板電路圖

    最全面的fpga開發(fā)板電路圖,一共有10多份fpga開發(fā)板電路圖。
    發(fā)表于 04-19 12:50 ?133次下載
    <b class='flag-5'>fpga</b><b class='flag-5'>開發(fā)板</b>電路圖

    Lattice_MachXO系列FPGA開發(fā)板電路原理圖

    電子發(fā)燒友網(wǎng)站提供《Lattice_MachXO系列FPGA開發(fā)板電路原理圖.zip》資料免費下載
    發(fā)表于 09-15 16:04 ?0次下載

    fpga開發(fā)板用途,fpga開發(fā)板價格

    (host),一個是目標平臺(target)即開發(fā)板。在此描述的開發(fā)平臺指的是使用計算機,通過傳輸?shù)慕缑?,例如串口(RS-232)、USB、并口、或者網(wǎng)絡(Ethernet)與目標平臺連接,fpga
    發(fā)表于 10-23 17:18 ?4295次閱讀

    介紹MachXO迷你開發(fā)套件的特點與應用

    看看利用MachXO迷你開發(fā)工具套件來設計MachXO可編程邏輯器件是多么容易。 MachXO器件是針對低密度應用最通用的、非易失的可編程邏
    的頭像 發(fā)表于 06-15 13:14 ?4393次閱讀

    采用FPGA的原型開發(fā)板進行ASIC驗證與開發(fā)設計

    在不太遙遠的過去,對ASIC設計團隊而言,在這類情況下主要的解決方案就是在內(nèi)部建立他們自己的定制多個FPGA的原型開發(fā)板。然而,今天,使用現(xiàn)成的多個FPGA原型開發(fā)板——例如,由Syn
    的頭像 發(fā)表于 05-16 08:07 ?3021次閱讀
    采用<b class='flag-5'>FPGA</b>的原型<b class='flag-5'>開發(fā)板</b>進行ASIC驗證與<b class='flag-5'>開發(fā)</b>設計

    迷你STM32開發(fā)板電路原理圖免費下載

    本文檔的主要內(nèi)容詳細介紹的是迷你STM32開發(fā)板電路原理圖免費下載。
    發(fā)表于 08-19 08:00 ?28次下載
    <b class='flag-5'>迷你</b>STM32<b class='flag-5'>開發(fā)板</b>電路原理圖免費下載

    ESP32迷你開發(fā)板設計開源分享

    電子發(fā)燒友網(wǎng)站提供《ESP32迷你開發(fā)板設計開源分享.zip》資料免費下載
    發(fā)表于 07-11 11:42 ?6次下載
    ESP32<b class='flag-5'>迷你</b><b class='flag-5'>開發(fā)板</b>設計開源分享

    制作一個基于ATtiny13的迷你開發(fā)板

    電子發(fā)燒友網(wǎng)站提供《制作一個基于ATtiny13的迷你開發(fā)板.zip》資料免費下載
    發(fā)表于 08-10 11:57 ?2次下載
    制作一個基于ATtiny13的<b class='flag-5'>迷你</b><b class='flag-5'>開發(fā)板</b>

    上位機和FPGA開發(fā)板--串口通信實驗

    首先,上位機發(fā)送數(shù)據(jù)給FPGA開發(fā)板;然后,FPGA開發(fā)板收到數(shù)據(jù),再回發(fā)給上位機。
    發(fā)表于 05-11 18:26 ?3次下載
    上位機和<b class='flag-5'>FPGA</b><b class='flag-5'>開發(fā)板</b>--串口通信實驗

    利用FPGA開發(fā)板進行ASIC原型開發(fā)的技巧

    )要求一個基于多個FPGA的原型開發(fā)板。 在不太遙遠的過去,對ASIC設計團隊而言,在這類情況下主要的解決方案就是在內(nèi)部建立他們自己的定制多個FPGA的原型開發(fā)板。然而,今天,使用現(xiàn)成
    的頭像 發(fā)表于 06-04 16:50 ?1105次閱讀

    Unionpi Tiger開發(fā)板案例

    提供四個UnionpiTiger開發(fā)板案例來幫助大家更快了解、掌握我們的開發(fā)板。
    發(fā)表于 06-15 15:46 ?24次下載

    fpga開發(fā)板與linux開發(fā)板區(qū)別

    FPGA開發(fā)板與Linux開發(fā)板是兩種不同的硬件開發(fā)平臺,各自具有不同的特點和應用場景。在以下的文章中,我將詳細介紹FPGA
    的頭像 發(fā)表于 02-01 17:09 ?1957次閱讀

    fpga開發(fā)板使用教程

    FPGA開發(fā)板的使用教程主要包括以下幾個關鍵步驟。
    的頭像 發(fā)表于 03-14 15:50 ?898次閱讀

    fpga開發(fā)板是什么?fpga開發(fā)板有哪些?

    FPGA開發(fā)板是一種基于FPGA(現(xiàn)場可編程門陣列)技術的開發(fā)平臺,它允許工程師通過編程來定義和配置FPGA芯片上的邏輯電路,以實現(xiàn)各種數(shù)字
    的頭像 發(fā)表于 03-14 18:20 ?1696次閱讀