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

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

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

基于FPGA的MicroBlade串口設(shè)計(jì)

73r1_FPGA_ehiwa ? 來(lái)源:中科億海微 ? 2023-08-18 09:27 ? 次閱讀

MicroBlade 處理器軟核 IP是實(shí)現(xiàn)基于 RISC-V(Reduced Instruction Set Computer,精簡(jiǎn)指令集計(jì)算機(jī))指令集架構(gòu)的 32 位處理器軟核,支持 RV32IM 指令集,支持 AXI4-Lite 接口,用于簡(jiǎn)化 FPGA 中復(fù)雜的控制邏輯。

MicroBlade 處理器軟核框架如下圖所示:

wKgaomTeyTqAN1r3AAB2iULXJns910.jpg

MicroBlade 串口設(shè)計(jì),開(kāi)發(fā)板實(shí)現(xiàn)使用的是億海神針系列EQ6HL45型FPGA。

本篇通過(guò)原理圖設(shè)計(jì),學(xué)習(xí)MicroBlade基本結(jié)構(gòu),通過(guò)創(chuàng)建簡(jiǎn)單的MicroBlade工程,實(shí)現(xiàn)MicroBlade調(diào)用AXI Uartlite模塊和AXI GPIO模塊,完成串口打印功能,掌握在模塊化設(shè)計(jì)中,MicroBlade最小系統(tǒng)的組成,學(xué)會(huì)導(dǎo)出、建立以及運(yùn)行基于SDK的工程。獲取本篇相關(guān)源工程代碼,可在公眾號(hào)內(nèi)回復(fù)“MicroBlade串口設(shè)計(jì)源工程”,提供下載路徑。

設(shè)計(jì)原理

本系統(tǒng)中的MicroBlade模塊通過(guò)AXI Lite總線(xiàn)與AXI Uartlite IP和AXI GPIO IP進(jìn)行通信,完成led指示燈的狀態(tài)改變以及串口打印功能。

操作步驟

基于GUI界面創(chuàng)建工程

1創(chuàng)建新的工程項(xiàng)目

1)雙擊桌面圖標(biāo)打開(kāi)eLinx3.0;

2)點(diǎn)擊Create Project,或者單擊File>New Project創(chuàng)建工程文件;

3)將新的工程項(xiàng)目命名TEST_MICROBLADE,選擇工程保存路徑,勾選Create project subdirectory,創(chuàng)建一個(gè)新的工程文件夾,點(diǎn)擊Next繼續(xù);

4)選擇新建一個(gè)RTL工程,由于本工程無(wú)需創(chuàng)建源文件,故將Do not specify sources at this time(不指定添加源文件)勾選上。點(diǎn)擊 Next繼續(xù);

5)選擇目標(biāo)FPGA器件:

Family:eHiChip6

Package:CSG324

Available devices: EQ6HL45

6)最后在新工程總結(jié)中,檢查工程創(chuàng)建是否有誤。沒(méi)有問(wèn)題,則點(diǎn)擊Finish,完成新工程的創(chuàng)建。

2創(chuàng)建原理圖,添加IP,進(jìn)行原理圖設(shè)計(jì)

1)在Flow Navigator下,展開(kāi)IP INTEGRATOR,選擇Create Block Design創(chuàng)建新的原理圖設(shè)計(jì);

2)將新的設(shè)計(jì)命名為design1;

wKgZomTeyTqAWY1GAABWzpCT8aA029.png

3)在Diagram中添加MicroBlade IP;

wKgaomTeyTqAJeBmAAA8SF7MRe4023.png

4)添加完成后如下圖所示,點(diǎn)擊Run Block Automation;

wKgZomTeyTqAHCH6AACohgUzdFw003.png

在彈出窗口中,使用以下設(shè)置替換默認(rèn)設(shè)置:

Local Memory: 64KB

Debug Module: Debug

Peripheral AXI Port: Enabled

wKgaomTeyTqAQ35RAACffbK8_tg420.png

6)完成之后,eLinx會(huì)基于之前的設(shè)置自動(dòng)生成一些額外的IP,并且會(huì)自動(dòng)連接完畢,此時(shí)不要點(diǎn)擊Run Connection Automation;

wKgaomTeyTqAeryOAAFBGb8qxRg049.png

7)在Diagram中添加AXI Uartlite IP和AXI GPIO IP;

wKgZomTeyTqARsbfAABUU732CAQ911.png

8)完成后,點(diǎn)擊Run Connection Automation,在彈出窗口中勾選所有端口,點(diǎn)擊OK繼續(xù);

wKgZomTeyTqAZm0-AAGSBl2Es5s317.png

wKgaomTeyTqAP7iuAAFWDs1kSAs470.png

9)完成后,雙擊MicroBlade IP,打開(kāi)界面,取消勾選Enable Interrupt隱藏Interrupt端口;

10)雙擊AXI_Lite Interconnect IP,打開(kāi)界面,把master端口的數(shù)量修改為2。手動(dòng)完成AXI_Lite Interconnect IP與AXI Uartlite IP,與AXI GPIO IP的連線(xiàn);

11)雙擊AXI Uartlite IP,打開(kāi)界面,把AXI CLK Frequency修改為50(板卡晶振為50M)。單擊UART端口,引出外設(shè)IO;

12)雙擊AXI GPIO IP,打開(kāi)界面,把GPIO通道GPIO Width修改為2,勾選Enable Dual Channel,把GPIO2通道GPIO Width修改為1。點(diǎn)擊展開(kāi)GPIO端口,點(diǎn)擊gpio_io_o端口,引出外設(shè)IO;

13)完成后,點(diǎn)擊布局重置按鈕重新布局,如下圖所示:

wKgaomTeyTqAIPTdAAFOZDyZHyI887.png

14)Ctrl+S保存設(shè)計(jì)。

3綜合、實(shí)現(xiàn)、生成比特流文件

1)保存后,在Sources窗格中鼠標(biāo)右鍵design1,選擇Generate Output Products...,開(kāi)始BD工程綜合,如下圖所示:

wKgZomTeyTuAc6z8AAJBoQLPKC4970.png

2)在Sources窗格中BD文件點(diǎn)擊右鍵,選擇Create HDL Wrapper,自動(dòng)更新Sources列表,同時(shí)工程沒(méi)有頂層,則自動(dòng)設(shè)置為頂層;

3)在界面上方工具欄中,選擇Toos>Settings…在彈出的界面中點(diǎn)擊Synthesis欄,取消勾選Post_Synthesis Netlist Optimizing;

wKgZomTeyTuATH5BAAEbv0zDtno011.png

4)完成后繼續(xù)點(diǎn)擊Flow Navigator中的SYNTHESIS欄中的Run Synthesis進(jìn)行工程綜合;

5)綜合結(jié)束后在界面上方工具欄中,選擇Toos >I/O Planning編輯管腳指定;

wKgaomTeyTuAGe5-AAOEO29U9YQ576.png

6)完成后在SYNTHESIS欄中點(diǎn)擊Edit Timing Constraints添加2個(gè)時(shí)序約束后保存;

wKgaomTeyTuABpLXAAL9Uzo1xI0854.png

7)完成后繼續(xù)點(diǎn)擊左側(cè)Run Implemenation按鈕進(jìn)行布局布線(xiàn)編譯實(shí)現(xiàn);

8)在PROGRAM AND DEBUG欄點(diǎn)擊Generate Bitstream。連接開(kāi)發(fā)板,完成后點(diǎn)擊Open target啟動(dòng)Programmer下載碼流。下載成功后默認(rèn)狀態(tài)為led1和led2交替閃爍。

4導(dǎo)出SDK并啟動(dòng)

1)在頂部工具欄中,選擇File>Export>Export Hardware導(dǎo)出硬件工程到SDK;

wKgZomTeyTuAZI7VAAKQwkesr8E388.png

2)在工具欄中,選擇File>Launch SDK,使用默認(rèn)工程,啟動(dòng)SDK;

wKgZomTeyTuAHVdkAAKd6IH3Rhw006.png

3)啟動(dòng)SDK后,如下界面,點(diǎn)擊Create a project,彈出如下界面:

wKgaomTeyTuAb-QfAAFKFhpIuMc147.png

4)選擇New Application->Application project,輸入工程名helloworld,依次默認(rèn)配置點(diǎn)擊Finish完成創(chuàng)建;

wKgaomTeyTuAXk6zAAGKK9SGnic313.png

wKgaomTeyTuAMNJgAAF4flHKvlE994.png

5)工程屬性無(wú)需配置,工程中集成了例程,如下圖:

wKgZomTeyTuAJdHMAABGqmlqDbs012.png

6)構(gòu)建。構(gòu)建成功后左側(cè)生成Debug文件夾

wKgZomTeyTuAVUuJAAB_tATYEXM517.png

7)進(jìn)行上板運(yùn)行

a)在工程名稱(chēng)上點(diǎn)擊右鍵,彈出界面選擇run as

wKgZomTeyTuAeUTBAAJQVMHgNCg628.png

b)點(diǎn)擊后彈出如下界面,在GDB OpenOCD Debugging按鈕雙擊即可

wKgaomTeyTuAPAloAAJPf_um9sY530.png

c)完成后,點(diǎn)擊run可開(kāi)始板卡聯(lián)調(diào),成功如下圖所示:

wKgZomTeyTuAQxYXAAKzsMf4JcQ816.png

5)連接串口。選擇SDK界面下方的Terminal窗口,點(diǎn)擊下圖的按鈕

wKgaomTeyTuACy14AAELhCVCvA0487.png

6)在彈出窗口中,進(jìn)行如下配置:

wKgZomTeyTuAS_OhAAB7dPQj2So344.png

7)點(diǎn)擊OK后,點(diǎn)擊EQ6HL45板卡上的復(fù)位按鈕(F2),Terminal界面出現(xiàn)了’Hello RISC-V World’字樣。

wKgaomTeyTyAMIs4AABHflDHqPo719.png

中科億海微

中科億海微電子科技(蘇州)有限公司,是中國(guó)科學(xué)院“可編程芯片與系統(tǒng)”研究領(lǐng)域的科研與產(chǎn)業(yè)化團(tuán)隊(duì),按照國(guó)家創(chuàng)新驅(qū)動(dòng)發(fā)展戰(zhàn)略,發(fā)起成立的以“可編程邏輯芯片與可重構(gòu)系統(tǒng)”為技術(shù)特色的高新技術(shù)企業(yè)。公司堅(jiān)持全正向設(shè)計(jì)技術(shù)路線(xiàn),自主研制具有高可靠性的嵌入式可編程電路IP核、可編程邏輯芯片、EDA軟件與可重構(gòu)系統(tǒng),提供具有高性能和自適應(yīng)計(jì)算的行業(yè)解決方案和集成電路設(shè)計(jì)服務(wù),具有較完善的知識(shí)產(chǎn)權(quán)保護(hù)體系。

審核編輯:湯梓紅

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

    關(guān)注

    68

    文章

    18927

    瀏覽量

    227224
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598906
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7174

    瀏覽量

    87153
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1533

    瀏覽量

    75459
  • RISC-V
    +關(guān)注

    關(guān)注

    44

    文章

    2141

    瀏覽量

    45708

原文標(biāo)題:MicroBlade 串口設(shè)計(jì)

文章出處:【微信號(hào):FPGA-ehiway,微信公眾號(hào):中科億海微】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MicroBlade 串口設(shè)計(jì)

    AXI4-Lite接口,用于簡(jiǎn)化FPGA中復(fù)雜的控制邏輯。MicroBlade處理器軟核框架如下圖所示:MicroBlade串口設(shè)計(jì),開(kāi)發(fā)板實(shí)現(xiàn)使用的是億海神針系列E
    的頭像 發(fā)表于 08-18 08:14 ?515次閱讀
    <b class='flag-5'>MicroBlade</b> <b class='flag-5'>串口</b>設(shè)計(jì)

    基于FPGA的SOC系統(tǒng)中的串口設(shè)計(jì)

    基于FPGA 的SOC 系統(tǒng)中的串口設(shè)計(jì) 作者:葛銳 歐鋼摘要:本文在XILINX FPGA 中采用嵌入式處理器Picoblaze 進(jìn)行SOC 設(shè)計(jì),以較少的
    發(fā)表于 02-08 09:48 ?21次下載

    基于EasyFPGA030的串口接收顯示設(shè)計(jì)

    本實(shí)驗(yàn)是基于EasyFPGA030 的串口接收設(shè)計(jì)。FPGA 除了需要控制外圍器件完成特定的功能外,在很多的應(yīng)用中還需要完成FPGAFPGA
    發(fā)表于 03-11 15:39 ?30次下載

    基于Actel FPGA的多串口擴(kuò)展設(shè)計(jì)

    基于Actel FPGA 的多串口擴(kuò)展設(shè)計(jì)采用了Actel 公司高集成度,小體積,低功耗,低系統(tǒng)成本,高安全性和可靠性的小容量FPGA—A3P030 進(jìn)行設(shè)計(jì),把若干接口電路的功能集成到A3P030
    發(fā)表于 11-15 17:43 ?71次下載

    采用Actel FPGA的多串口擴(kuò)展方案

    采用Actel FPGA的多串口擴(kuò)展方案    在當(dāng)前的多串口的擴(kuò)展應(yīng)用中,雖然市面上有部分的多串口擴(kuò)展芯片,但是其可擴(kuò)展的
    發(fā)表于 03-18 11:11 ?2630次閱讀

    基于CPLD/FPGA的多串口設(shè)計(jì)

    在工業(yè)控制中如何提高一對(duì)多的串口通訊可靠性和系統(tǒng)的集成性成為研究熱點(diǎn)。本文利用嵌入式技術(shù),提出基于CPLD/FPGA的多串口擴(kuò)展設(shè)計(jì)方案。實(shí)現(xiàn)并行口到多個(gè)全雙工異步通訊口之間
    發(fā)表于 04-27 11:17 ?111次下載
    基于CPLD/<b class='flag-5'>FPGA</b>的多<b class='flag-5'>串口</b>設(shè)計(jì)

    基于FPGA串口通訊與VGA顯示

    本文介紹了基于FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)具有串口控制功能的VGA顯示圖像的設(shè)計(jì)實(shí)現(xiàn)方案。通過(guò)對(duì)該設(shè)計(jì)方案進(jìn)行分析,可把本設(shè)計(jì)分成3個(gè)模塊一一進(jìn)行實(shí)現(xiàn),這3個(gè)模塊分別是串口發(fā)
    發(fā)表于 09-19 15:26 ?291次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>串口</b>通訊與VGA顯示

    基于FPGA串口通信設(shè)計(jì)_王鵬

    介紹FPGA串口通信有發(fā)送模塊與接收模塊的程序
    發(fā)表于 03-03 16:31 ?22次下載

    基于FPGA串口通信電路設(shè)計(jì)

    基于FPGA串口通信電路設(shè)計(jì)
    發(fā)表于 01-24 17:30 ?33次下載

    基于FPGA Verilog-HDL語(yǔ)言的串口設(shè)計(jì)

    基于FPGA Verilog-HDL語(yǔ)言的串口設(shè)計(jì)
    發(fā)表于 02-16 00:08 ?35次下載

    xilinx FPGA串口設(shè)計(jì)筆記

    在設(shè)計(jì)中,需要用FPGA讀取GPS內(nèi)部的信息,GPS的通信方式為串口,所以在FPGA中移植了串口程序。
    發(fā)表于 03-26 11:04 ?11次下載

    FPGA中利用IP核實(shí)現(xiàn)SOC系統(tǒng)中的串口收發(fā)接口的設(shè)計(jì)

    在基于FPGA的SOC設(shè)計(jì)中,常使用串口作為通信接口,但直接用FPGA進(jìn)行串口通信數(shù)據(jù)的處理是比較繁雜的,特別是直接使用FPGA進(jìn)行
    的頭像 發(fā)表于 08-02 08:08 ?4256次閱讀

    基于FPGA的SDRAM串口實(shí)驗(yàn)

    基于FPGA的SDRAM串口實(shí)驗(yàn)(嵌入式開(kāi)發(fā)板實(shí)驗(yàn)報(bào)告)-基于FPGA的SDRAM串口實(shí)驗(yàn),verilog語(yǔ)言編寫(xiě)
    發(fā)表于 08-04 09:43 ?37次下載
    基于<b class='flag-5'>FPGA</b>的SDRAM<b class='flag-5'>串口</b>實(shí)驗(yàn)

    FPGA-串口通信模塊(含IP核)

    ARTIX-xlinx 版本FPGA 串口通信模塊(含IP核)
    發(fā)表于 06-20 11:07 ?13次下載

    基于CPLD/FPGA的多串口擴(kuò)展設(shè)計(jì)方案

    電子發(fā)燒友網(wǎng)站提供《基于CPLD/FPGA的多串口擴(kuò)展設(shè)計(jì)方案.pdf》資料免費(fèi)下載
    發(fā)表于 10-27 09:45 ?3次下載
    基于CPLD/<b class='flag-5'>FPGA</b>的多<b class='flag-5'>串口</b>擴(kuò)展設(shè)計(jì)方案