RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

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

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

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

典型的開發(fā)板

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

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

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

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

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

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

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

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

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

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

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

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

預(yù)測試的片上系統(tǒng)設(shè)計(jì)

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

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

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

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

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

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

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

圖3 MachXO迷你板預(yù)裝載了SOC設(shè)計(jì)

這個(gè)設(shè)計(jì)的中心是片上總線。使用WISHBONE標(biāo)準(zhǔn):WISHBONE是一個(gè)開放源代碼的總線標(biāo)準(zhǔn),為SOC設(shè)計(jì)提供了一個(gè)理想的基本結(jié)構(gòu)。WISHBONE標(biāo)準(zhǔn)的優(yōu)點(diǎn)有以下幾個(gè)方面:

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

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

· 簡單但靈活的定義使設(shè)計(jì)人員能夠?qū)π阅艿膹?fù)雜性進(jìn)行平衡。

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

LatticeM

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

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

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

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

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

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

整合所有的一切

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

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

責(zé)任編輯:gt


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

    關(guān)注

    68

    文章

    19259

    瀏覽量

    229651
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602986
  • PLD
    PLD
    +關(guān)注

    關(guān)注

    6

    文章

    224

    瀏覽量

    59376
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    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 ?1192次閱讀

    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èi)下載
    發(fā)表于 09-15 16:04 ?0次下載

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

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

    介紹MachXO迷你開發(fā)套件的特點(diǎn)與應(yīng)用

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

    采用FPGA的原型開發(fā)板進(jìn)行ASIC驗(yàn)證與開發(fā)設(shè)計(jì)

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

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

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

    ESP32迷你開發(fā)板設(shè)計(jì)開源分享

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

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

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

    上位機(jī)和FPGA開發(fā)板--串口通信實(shí)驗(yàn)

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

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

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

    Unionpi Tiger開發(fā)板案例

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

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

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

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

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

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

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