0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

自制RISC-V源碼與設(shè)計(jì)流程案例分析

454398 ? 來(lái)源:PYNQ開(kāi)源社區(qū) ? 作者:PYNQ開(kāi)源社區(qū) ? 2020-11-08 10:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Overlay 簡(jiǎn)介

RISC-V-On-PYNQ Overlay實(shí)現(xiàn)了在PYNQ-Z2板上的RISC-V處理器及工具鏈集成,并提供了完整的RISC-V源碼與設(shè)計(jì)流程,得益于PYNQ軟件框架,其支持在Jupyter Notebook對(duì)RISC-V進(jìn)行編譯、調(diào)試與驗(yàn)證,即可以在Jupyter Notebook上編寫(xiě)一段C/C++/RISC-V匯編程序,將編譯后的二進(jìn)制文件放到picoRV32上運(yùn)行。

以下兩張圖是本Overlay的系統(tǒng)框圖,其中picoRV32是一個(gè)開(kāi)源的RISC-V核,它具有占用資源少的特點(diǎn),并且它自帶AXI接口,可以方便地使用Xilinx提供的各種基于AXI總線的IP。本項(xiàng)目有兩個(gè)工程,它們的區(qū)別主要是picoRV32接的RAM:上圖只使用BRAM,而下圖同時(shí)使用到了BRAM和外部DRAM

快速開(kāi)始

- 環(huán)境需求PYNQ V2.4。

- 在PS端,我們需要編譯安裝RISC-V工具鏈和對(duì)應(yīng)的庫(kù)。

Github內(nèi)的項(xiàng)目文件Clone到本地。

git clone

https://github.com/Siudya/RISC-V-On-PYNQ.git /home/xilinx/ RISC-V-On-PYNQ

在RISC-V-On-PYNQ/notebooks/tutorial中有5個(gè)Notebook,包含了Overlay完整的部署流程。

鑒于從零開(kāi)始部署的時(shí)間會(huì)較長(zhǎng),所以我們也提供了完整的鏡像文件,直接燒錄到SD卡就可以運(yùn)行(注:提供的ext4分區(qū)剩余容量較小,請(qǐng)用戶根據(jù)需要自行調(diào)整)。

在OpenHW的遠(yuǎn)程PYNQ實(shí)驗(yàn)平臺(tái)上也已經(jīng)為大家安裝好了環(huán)境,可以直接使用。

示例Notebook

裝好Overlay后,打開(kāi)RISC-V-Examples/PicoRV32 Processor Mixed-Memory Processor Demo.ipynb,這是使用DRAM和BRAM混合儲(chǔ)存器的示例工程。實(shí)際上代碼與使用只BRAM的工程類似,只不過(guò)使用了不同的bit文件。

開(kāi)始時(shí)下載bit文件,在這個(gè)過(guò)程中所有驅(qū)動(dòng)都會(huì)注冊(cè)完成。

可以用help函數(shù)查看Overlay和processor的有關(guān)信息,可以看到,這里的Overlay和processor使用了本項(xiàng)目設(shè)計(jì)的驅(qū)動(dòng),這說(shuō)明驅(qū)動(dòng)注冊(cè)成功了。

在Notebook中包含了一段C程序,作用是返回一個(gè)數(shù)組的第二個(gè)元素??梢钥吹轿覀兪褂昧?a href="http://www.wenjunhu.com/tags/python/" target="_blank">python magics來(lái)聲明并編譯一段C程序,這和PYNQ本身對(duì)Microblaze核的編程方法類似。然后調(diào)用processor的run方法將程序裝載進(jìn)RAM中來(lái)運(yùn)行picoRV32。

我們也可以調(diào)用BRAM controller的mmio來(lái)看看內(nèi)存的情況。在這之后也有使用C++和匯編程序的例子,這里不作贅述,讀者通過(guò)執(zhí)行Jupyter Notebook中的代碼來(lái)體驗(yàn)。

Overlay詳解

- PS與PL功能劃分

PS部分主要是用Python通過(guò)PYNQ框架控制PL中各IP的運(yùn)行。

PL部分則例化一個(gè)pcioRV32核和和BRAM。

- Vivado工程block design介紹

具體硬件設(shè)計(jì)是這樣的:

上圖是項(xiàng)目的總體布局,下圖是processor展開(kāi)后的內(nèi)容。

其中BRAM是一個(gè)雙口RAM,它兩端連接的是PS和picoRV32。另外,可以看到PS的GPIO連接的是processor的復(fù)位端,當(dāng)二進(jìn)制程序裝入BRAM后,復(fù)位picoRV32,使它運(yùn)行程序。picoRV32運(yùn)行結(jié)束后,會(huì)觸發(fā)一個(gè)中斷。利用這個(gè)設(shè)計(jì),可以例化許多RISC-V核心,并讓其運(yùn)行獨(dú)立的程序,實(shí)現(xiàn)一個(gè)靈活可配置的眾核處理器,事實(shí)上已經(jīng)有用這種方法實(shí)現(xiàn)了例化超過(guò)一千個(gè)RISC-V核的項(xiàng)目。

在Processor內(nèi)部,picoRV32通過(guò)AXI總線來(lái)訪問(wèn)其他IP,可以使用AXI總線來(lái)給它增加各種各樣不同的外設(shè)。在這里,本項(xiàng)目只是添加了另一個(gè)內(nèi)存(通過(guò)PS的HP AXI 0接口訪問(wèn)內(nèi)存控制器)。

另外,這里的picoRV32核心的運(yùn)行頻率可以通過(guò)利用AXI總線配置時(shí)鐘資源來(lái)調(diào)整。

注意:RISC-V核的hierarchy名字必須為processor,并且processor中的復(fù)位模塊必須為rscvReset。如果改動(dòng)這些名字,必須修改對(duì)應(yīng)的驅(qū)動(dòng)源文件,否則不能正確加載驅(qū)動(dòng)。

Overlay API介紹

在此工程中,通過(guò)riscvc、riscvcpp和riscvasm這三個(gè)python magics來(lái)編譯一段程序。例如:%%riscvcpp test_cpp overlay.processor。其中test_cpp是程序的名字,overlay.processor是想要寫(xiě)入的RISCV核hierarchy的名字。然后在本cell中編寫(xiě)代碼,運(yùn)行后將調(diào)用前面安裝的RISC-V的工具鏈編譯。

編譯成功后,利用processor的run方法運(yùn)行程序。例如:overlay.processor.run(test_cpp, test_cpp_arg)。其中test_cpp是程序名字,test_cpp_arg是參數(shù)數(shù)組,它兼容numpy的類型。

對(duì)于更詳細(xì)的解釋,可以參看前面的tutorial中5個(gè)notebook和項(xiàng)目中的.py源文件。

編輯:hfy

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

    關(guān)注

    73

    文章

    2184

    瀏覽量

    125076
  • AXI
    AXI
    +關(guān)注

    關(guān)注

    1

    文章

    136

    瀏覽量

    17218
  • 內(nèi)存控制器
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

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

    關(guān)注

    46

    文章

    2540

    瀏覽量

    48646
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FPGA與RISC-V淺談

    全球半導(dǎo)體產(chǎn)業(yè)競(jìng)爭(zhēng)格局正在經(jīng)歷深刻變革,物聯(lián)網(wǎng)、邊緣計(jì)算等新興技術(shù)的蓬勃發(fā)展,讓RISC-V憑借其開(kāi)源、精簡(jiǎn)以及模塊化的靈活優(yōu)勢(shì),日益成為業(yè)界焦點(diǎn),也為全球半導(dǎo)體產(chǎn)業(yè)注入新的活力與挑戰(zhàn)
    發(fā)表于 04-11 13:53 ?337次閱讀
    FPGA與<b class='flag-5'>RISC-V</b>淺談

    芯來(lái)科技亮相RISC-V Day Tokyo 2025

    RISC-V Day Tokyo 2025春季會(huì)議于日前在東京大學(xué)ITO國(guó)際研究中心順利舉行。The RISC-V Day Tokyo作為日本最大的RISC-V活動(dòng),匯集了眾多優(yōu)秀的RISC-
    的頭像 發(fā)表于 03-03 14:07 ?548次閱讀

    關(guān)于RISC-V芯片的應(yīng)用學(xué)習(xí)總結(jié)

    。 邊緣計(jì)算是RISC-V芯片的另一個(gè)重要應(yīng)用領(lǐng)域。邊緣計(jì)算設(shè)備需要高性能和低延遲,以快速處理和分析大量數(shù)據(jù)。RISC-V芯片通過(guò)提供高性能的計(jì)算能力和靈活的指令集擴(kuò)展,滿足了邊緣計(jì)算設(shè)備的需求。此外
    發(fā)表于 01-29 08:38

    RISC-V能否復(fù)制Linux 的成功?》

    的產(chǎn)品,Linux成為開(kāi)源軟件發(fā)展的基石。 這種成功是否可以復(fù)制到開(kāi)源硬件上呢?RISC-V這樣的指令集架構(gòu)(ISA)是否也可以像Linux內(nèi)核作為開(kāi)源軟件的基礎(chǔ)一樣,成為開(kāi)源硬件發(fā)展的基石呢? 這個(gè)
    發(fā)表于 11-26 20:20

    RISC-V,即將進(jìn)入應(yīng)用的爆發(fā)期

    RISC-V是一種開(kāi)放標(biāo)準(zhǔn)指令集架構(gòu) (ISA),最初由加州大學(xué)伯克利分校的研究人員于2010年開(kāi)發(fā)。業(yè)界稱,這種開(kāi)源特性為芯片設(shè)計(jì)者提供了極大的靈活性,可以根據(jù)具體需求定制AI加速器。 而AI
    發(fā)表于 10-31 16:06

    RISC-V近期市場(chǎng)情況調(diào)研

    RISC-V是一種開(kāi)源的指令集架構(gòu)(ISA),近年來(lái)在全球范圍內(nèi)迅速崛起,尤其在中國(guó),RISC-V的發(fā)展勢(shì)頭十分強(qiáng)勁。以下是目前RISC-V芯片的發(fā)展情況,以及中國(guó)在這一領(lǐng)域的主要公司和產(chǎn)品
    的頭像 發(fā)表于 10-23 15:10 ?1643次閱讀

    RISC-V和arm指令集的對(duì)比分析

    RISC-V和ARM指令集是兩種不同的計(jì)算機(jī)指令集架構(gòu),它們?cè)诙鄠€(gè)方面存在顯著的差異。以下是對(duì)這兩種指令集的詳細(xì)對(duì)比分析: 一、設(shè)計(jì)理念 RISC-VRISC-V的設(shè)計(jì)理念是簡(jiǎn)化指
    發(fā)表于 09-28 11:05

    加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未來(lái) !

    加入RISC-VAdvocate行列!我們正在尋找來(lái)自世界各地的RISC-V愛(ài)好者,通過(guò)全球推廣和參與,成為支持RISC-V進(jìn)步的關(guān)鍵參與者。作為一名RISC-VAdvocate,您將
    的頭像 發(fā)表于 09-10 08:08 ?857次閱讀
    加入全球 <b class='flag-5'>RISC-V</b> Advocate 行列,共筑 <b class='flag-5'>RISC-V</b> 的未來(lái) !

    RISC-V Summit China 2024 青稞RISC-V+接口PHY,賦能RISC-V高效落地

    沁恒在歷屆峰會(huì)上分享RISC-V在MCU領(lǐng)域的創(chuàng)新成果,和大家共同見(jiàn)證了本土RISC-V產(chǎn)業(yè)的成長(zhǎng)。早在第一屆RISC-V中國(guó)峰會(huì)上,沁恒就公開(kāi)了青稞RISC-V系列量產(chǎn)芯片的關(guān)鍵技術(shù)
    的頭像 發(fā)表于 08-30 18:18 ?2325次閱讀
    <b class='flag-5'>RISC-V</b> Summit China 2024  青稞<b class='flag-5'>RISC-V</b>+接口PHY,賦能<b class='flag-5'>RISC-V</b>高效落地

    RISC-V Summit China 2024 | 青稞RISC-V+接口PHY,賦能RISC-V高效落地

    01 老朋友伴您走過(guò)每一屆峰會(huì) 沁恒在歷屆峰會(huì)上分享RISC-V在MCU領(lǐng)域的創(chuàng)新成果,和大家共同見(jiàn)證了本土RISC-V產(chǎn)業(yè)的成長(zhǎng)。早在第一屆RISC-V中國(guó)峰會(huì)上,沁恒就公開(kāi)了青稞RISC-
    發(fā)表于 08-30 17:37

    2024 RISC-V 中國(guó)峰會(huì):華秋電子助力RISC-V生態(tài)!

    第四屆RISC-V中國(guó)峰會(huì)(RISC-V Summit China 2024)于8月21日至23日在杭州盛大召開(kāi),成為RISC-V領(lǐng)域的一次重要盛會(huì)
    的頭像 發(fā)表于 08-26 18:33 ?1514次閱讀
    2024 <b class='flag-5'>RISC-V</b> 中國(guó)峰會(huì):華秋電子助力<b class='flag-5'>RISC-V</b>生態(tài)!

    2024 RISC-V 中國(guó)峰會(huì):華秋電子助力RISC-V生態(tài)!

    第四屆RISC-V中國(guó)峰會(huì)(RISC-V Summit China 2024)于8月21日至23日在杭州盛大召開(kāi),成為RISC-V領(lǐng)域的一次重要盛會(huì)。峰會(huì)匯聚了RISC-V國(guó)際基金會(huì)的
    發(fā)表于 08-26 16:46

    Imagination CPU 系列研討會(huì) | RISC-V 平臺(tái)的性能分析和調(diào)試

    為了讓開(kāi)發(fā)者及工程師深入了解Imagination的CPU產(chǎn)品及相關(guān)解決方案,Imagination將陸續(xù)推出5期線上研討會(huì),包含:RISC-V平臺(tái)的性能分析和調(diào)試;RISC-V安全和全球平臺(tái)可信
    的頭像 發(fā)表于 08-10 08:28 ?529次閱讀
    Imagination CPU 系列研討會(huì) | <b class='flag-5'>RISC-V</b> 平臺(tái)的性能<b class='flag-5'>分析</b>和調(diào)試

    risc-v的發(fā)展歷史

    RISC-V的發(fā)展歷史可以追溯到2006年左右,當(dāng)時(shí)David Patterson和其他研究者開(kāi)始探索創(chuàng)建一個(gè)開(kāi)放和可擴(kuò)展的指令集架構(gòu)(ISA)。以下是RISC-V發(fā)展的主要里程碑: 一、起源與初步
    發(fā)表于 07-29 17:20

    rIsc-v的缺的是什么?

    RISC-V作為一種開(kāi)源的指令集架構(gòu)(ISA),自其誕生以來(lái)就受到廣泛關(guān)注和應(yīng)用,但它也存在一些不足之處。以下是RISC-V架構(gòu)目前存在的主要缺點(diǎn): 1. 性能問(wèn)題 相對(duì)于專用ISA的性能差距:盡管
    發(fā)表于 07-29 17:18

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品