色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

Xilinx Zynq小試FPGA開發流程

h1654155149.6853 ? 來源:電子工程世界 ? 2023-03-14 16:13 ? 次閱讀

Xilinx Zynq系列是帶有ARM Cortex-A系列CPU核的FPGA,前幾年流落到二手市場上的“礦板”就以Zynq 7010為核心,可以說是最廉價的Zynq實驗平臺了。淘個這樣的板子,再另外找個Xilinx的JTAG就可以玩FPGA和ARM Linux. 因為玩的人多,網上有資料,還有別人做過的擴展板可以參考。本壇大佬們早就玩過了。我三年前就買了一塊,但一直是閑置狀態,直到現在才想來搞搞。

這塊EBAZ4025板子接上12V電源就可以工作了,有RJ45網口,板子上有焊盤可以自己焊上TF卡座、UART接口、JTAG口,就相當于一個完整的ARM Linux板子(板載DDR3 SDRAM 256MB,NAND Flash 128MB),還有若干FPGA I/O引出來到雙列排針座,方便自己分配用途。

EBAZ4025通電以后上面的Linux就啟動了,通過UART連接可以看到uboot和Linux輸出的信息。我是要把它作為FPGA開發來用的,所以先直接焊上JTAG排針連接調試器,電腦軟件可以識別到JTAG 掃描鏈上有兩個設備,一個是FPGA,一個是ARM CPU。

Zynq的內部分為兩個系統,一個叫PS,就是ARM CPU以及外設,包括DDR內存控制器DMA等等這些ARM運行依賴的部件;另一個系統叫PL,就相當于傳統的FPGA. 這兩部分之間有很多種方式可以通信,就可以比結合FPGA和ARM的各自優點來處理復雜的任務了。

Zynq 7000系列的IO引腳也分為PS和PL各自管理的的,PS部分引腳有固定的用途,和開發FPGA時寫引腳約束不同。根據礦板的電路圖了解到,兩個LED是連接到PL部分的,而UART直接接的是PS的MIO。

2debaba4-c23a-11ed-bfe3-dac502259ad0.png

學習Zynq的開發可以參考網上的教程。這玩意門檻稍微高一點,先得下載Vivado安裝,為了開發ARM的程序還要安裝SDK,都是很龐大的軟件。如果熟悉了的話Vivado操作起來也很快,但頭幾次么……

先創建一個工程,選擇器件型號,這和其它FPGA開發思路是一樣的。

2e5c2564-c23a-11ed-bfe3-dac502259ad0.png

按照教程,然后是Create Block Design

2e6d7d14-c23a-11ed-bfe3-dac502259ad0.png

添加IP——ZYNQ7 Processing System. 這種圖形化的block design方式我最初學FPGA的時候就用,直觀容易理解。

2e7ec808-c23a-11ed-bfe3-dac502259ad0.png

加上這個IP之后框圖上就出現了一個模塊,代表PS部分。

2eaff64e-c23a-11ed-bfe3-dac502259ad0.png

在圖上雙擊這個ZYNQ Processing System模塊,就打開配置窗口,進行時鐘、IO、內存等設置了。這些需要根據礦板上的資源和連接關系來定。

首先這里有個PS部分的結構圖,可以了解有那些片上外設可以供CPU用的。第一個實驗為了讓程序能打印輸出,需要用UART。

2ecdfab8-c23a-11ed-bfe3-dac502259ad0.png

看看時鐘配置,默認的輸入時鐘33.333MHz 和礦板一致,就不用調整了。CPU和DDR的時鐘頻率用默認的不會有問題。PS部分給PL部分提供的時鐘是實驗需要的,默認輸出一個50MHz。

2ee76f3e-c23a-11ed-bfe3-dac502259ad0.png

DDR的配置,需要根據實際板子上的芯片調整一下,128M x16-bit. 我不確定SDK編寫的程序是要在DDR內存中運行還是PS的片上RAM中運行,所以DDR還是要配置的。

2ef6a7ba-c23a-11ed-bfe3-dac502259ad0.png

MIO的配置,是為了要給UART分配引腳。根據電路圖,UART是連接在A16和F15這兩個腳的,查Xilinx手冊得知是PS_MIO24和PS_MIO25,就在MIO Configuration中配置使用UART1(因為UART0沒有MIO 24,25的映射)。

2f1c396c-c23a-11ed-bfe3-dac502259ad0.png

配置好之后Run Block Automation,自動生成必要的接口。

2f2e043a-c23a-11ed-bfe3-dac502259ad0.png

教程上說配置好之后要連一根線,把FCLK_CLK0和M_AXI_GP0_ACLK連起來。前者是Zynq PS輸出的時鐘(內部PLL從晶振給的時鐘生成,可以給PL用),后者我理解是AXI總線的時鐘。這里并不使用總線,我覺得不連也沒關系。

2f45593c-c23a-11ed-bfe3-dac502259ad0.png

接下來,按照教程說的是要Create HDL Wrapper,注意對話框中選擇允許用戶修改,不然自己編輯的會被覆蓋掉。

2f53a5f0-c23a-11ed-bfe3-dac502259ad0.png

做這一步的目的是把PS外面再包上一層,這樣就方便加入自己編寫的邏輯了。下面我要編寫一點邏輯來點LED,就直接加到 system_wrapper.v 里面去。

注意Create HDL Wrapper之后,系統的層次結構變化了,頂層名稱從design_1變成了design_1_wrapper。

2fa21e74-c23a-11ed-bfe3-dac502259ad0.png

由于礦板的PL是沒有帶晶振的(有空焊盤沒裝),要看FPGA跑起來的效果需要外接時鐘信號到排針上面。實際在已經創建的PS模塊上,FCLK_CLK0就是一個時鐘信號,現在我要把它給PL用,還需要創建一個port把它引出來,不然頂層看不到。

2fd193e8-c23a-11ed-bfe3-dac502259ad0.png

在圖上創建輸出port, 命名叫PS_CLK0, 連接到時鐘信號上。保存之后,design_1.v文件(自動生成的)并沒有體現新的輸出端口。于是我嘗試一下“Generate Block Design”操作,看看是否更新。

2fe5bd32-c23a-11ed-bfe3-dac502259ad0.png

結果這樣是能重新產生design_1.v的:

3009d852-c23a-11ed-bfe3-dac502259ad0.png

然后我就在頂層的design_1_wrapper.v里面加自己的東西了:先加上兩個輸出口給礦板上的紅綠LED。

302c4dd8-c23a-11ed-bfe3-dac502259ad0.png

再寫一個計數器,利用PS引出的時鐘計數,讓LED能閃起來。

306b0f32-c23a-11ed-bfe3-dac502259ad0.png

這樣第一個實驗工程的邏輯就設計完了,可以進行FPGA綜合、實現和生成二進制碼的流程了。

307b1c92-c23a-11ed-bfe3-dac502259ad0.png

這里還缺少一件事情:礦板上的 LED6 (W13, W14引腳)是連接在FPGA IO上的,不是PS MIO,因此是像普通FPGA那樣分配引腳的方式。而DDR、MIO則是固定引腳,不需要自己選。假如LED是接在MIO上,那么我們就要用軟件去選擇GPIO訪問來點亮了,不屬于FPGA邏輯部分。

在綜合之后,可以查看design,然后手工分配LED使用的引腳。也可以直接寫一個約束文件(.xdc)把引腳約束用Tcl命令寫上去。

308c1e98-c23a-11ed-bfe3-dac502259ad0.png

在最后Generate bitstream 生成bit文件之前看一下報告,確認引腳的分配是生效了的。

最后得到了.bit文件,就可以連接好JTAG之后,打開Hardware Manager, 將生成的design_1_wrapper.bit下載到FPGA中了。這個操作和Xilinx Spartan/Artix系列是相似的。

30abac90-c23a-11ed-bfe3-dac502259ad0.png

若此時看到了LED閃爍,說明PL部分的邏輯是工作的了。

此外,下載bit文件之后,從UART終端看到的Linux打印信息還在活動,說明PL部分的重配置沒有影響PS的運行。關于PL和PS的關系我的了解還不夠多。

如果單純把Zynq當成FPGA來用,不使用PS部分,也是可以的。注意,這樣也就不能用PS提供的時鐘了,需要從PL的引腳輸入時鐘信號。開發工具用Vivado和ISE都可以,我另外進行過嘗試。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM技術
    +關注

    關注

    0

    文章

    22

    瀏覽量

    7416
  • UART接口
    +關注

    關注

    0

    文章

    124

    瀏覽量

    15442
  • FPGA開發板
    +關注

    關注

    10

    文章

    124

    瀏覽量

    31671
  • JTAG口
    +關注

    關注

    0

    文章

    6

    瀏覽量

    1829

原文標題:多少“礦板”吃灰中:Zynq學習筆記——“礦板”小試FPGA開發流程

文章出處:【微信號:電子工程世界,微信公眾號:電子工程世界】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Xilinx Zynq-7010(兼容 7020)嵌入式開發板-Z-turn Board產品介紹

    Z-turn Board 是深圳市米爾科技有限公司推出的一款以 Xilinx Zynq-7010(兼容 7020)作為主處理器的嵌入式開發板。Z-turn Board 采用 Xilinx
    發表于 03-27 17:05

    用于 Xilinx FPGA Zynq 7 的電源解決方案

    描述該參考設計采用多種 TPS54325 和其他 TI 電源器件,是適用于 Xilinx Zynq FPGA 的全套電源解決方案。輸入電壓達到 12V 后,該參考解決方案可提供 Zynq
    發表于 04-14 09:46

    基于Zynq的嵌入式開發流程

    基于Zynq的嵌入式開發流程Xilinx Zynq SoC 是集成了FPGA和硬核處理器的特殊S
    發表于 08-23 08:15

    面向Xilinx Zynq FPGA應用的PMP9335參考設計

    描述PMP9335專為使用 TPS84A20 和 TPS84320 的 Xilinx Zynq FPGA 應用而設計。此設計使用外部計時器將開關頻率同步到 300 kHz。它還采用受控的加電和斷電
    發表于 09-19 07:37

    基于Xilinx Zynq SoC的“小傻瓜(Snickerdoodle)”開發套件

    今天向大家推薦一款基于Xilinx Zynq SoC的低價開發板,這款開發板命名為“小傻瓜(Snickerdoodle)”,是位于美國舊金山的設計工作室krtkl
    發表于 02-08 18:04 ?321次閱讀

    用于 Xilinx FPGA Zynq 7 的電源解決方案

    該參考設計采用多種 TPS54325 和其他 TI 電源器件,是適用于 Xilinx Zynq FPGA 的全套電源解決方案。輸入電壓達到 12V 后,該參考解決方案可提供 Zynq
    發表于 02-11 09:39 ?3219次閱讀
    用于 <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b> <b class='flag-5'>Zynq</b> 7 的電源解決方案

    FPGA開發流程詳細解析

    1. FPGA 開發流程: 電路設計與設計輸入 ;仿真驗證:利用Xilinx集成的仿真工具足矣 ;邏輯綜合:利用XST(Xilinx Syn
    發表于 01-12 03:59 ?1w次閱讀

    從賽靈思FPGA設計流程看懂FPGA設計

    不斷 從賽靈思FPGA設計流程看懂FPGA設計 1.XILINX ISE傳統FPGA設計流程
    發表于 02-20 20:32 ?1.6w次閱讀
    從賽靈思<b class='flag-5'>FPGA</b>設計<b class='flag-5'>流程</b>看懂<b class='flag-5'>FPGA</b>設計

    使用Xilinx SDK進行Zynq裸金屬應用程序開發

    Zynq-7000 AP SoC硬件和軟件開發流程中,用于嵌入式軟件開發的工具就是Xilinx SDK。
    的頭像 發表于 05-31 08:40 ?2623次閱讀

    基于Xilinx Zynq SoC的“小傻瓜(Snickerdoodle)”開發套件

    CrowdSupply眾籌網站上完成了眾籌,籌集的資金是其目標的兩倍多。這款定價55美元的開發板可謂是功能強大,性價比很高。 圖1“小傻瓜(Snickerdoodle)”開發板 這款開發板是基于
    發表于 04-18 14:24 ?1885次閱讀

    ZYNQ7020的PS端的基本開發流程

    這篇文章記錄ZYNQ7020的PS端的基本開發流程,關于PL端的開發流程,參考之前文章,這里放個超鏈接。
    的頭像 發表于 07-24 18:12 ?8847次閱讀

    用于Xilinx FPGA Zynq7的電源解決方案

    電子發燒友網站提供《用于Xilinx FPGA Zynq7的電源解決方案.zip》資料免費下載
    發表于 09-05 16:50 ?4次下載
    用于<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b> <b class='flag-5'>Zynq</b>7的電源解決方案

    面向Xilinx Zynq FPGA應用的多路降壓20W電源參考設計

    電子發燒友網站提供《面向Xilinx Zynq FPGA應用的多路降壓20W電源參考設計.zip》資料免費下載
    發表于 09-06 11:34 ?4次下載
    面向<b class='flag-5'>Xilinx</b> <b class='flag-5'>Zynq</b> <b class='flag-5'>FPGA</b>應用的多路降壓20W電源參考設計

    xilinx ZYNQ7000系列基本開發流程之PS端

    ZYNQ 芯片分為 PL 和 PS, PS 端的 IO 分配相對是固定的,不能任意分配,雖然 PS 端的 ARM 是硬核,但是在 ZYNQ 當中也要將 ARM 硬核添加到工程當中才能使用,FPGA
    的頭像 發表于 08-11 09:36 ?1.1w次閱讀
    <b class='flag-5'>xilinx</b> <b class='flag-5'>ZYNQ</b>7000系列基本<b class='flag-5'>開發</b><b class='flag-5'>流程</b>之PS端

    基于Xilinx ZYNQ7000 FPGA嵌入式開發實戰指南

    電子發燒友網站提供《基于Xilinx ZYNQ7000 FPGA嵌入式開發實戰指南.pdf》資料免費下載
    發表于 12-10 15:31 ?5次下載
    主站蜘蛛池模板: 公和我做好爽添厨房中文字幕 | 日日噜噜夜夜狠狠视频 | 蜜桃传媒星空传媒在线播放 | 精品一二三区久久AAA片 | 国内精品九九视频 | 999人在线精品播放视频 | 德国美女密密麻麻浓毛 | 一个人在线观看免费中文www | 杨幂被视频在线观看 | 两个人的视频日本在线观看完整 | 国产GV天堂亚洲国产GV刚刚碰 | 亚洲国产精品特色大片观看 | 91精品国产高清久久久久久 | 亚洲妈妈精品一区二区三区 | 国产热久久精 | 日本污ww视频网站 | 亚洲国产精品无码中文字满 | 国产乱色伦影片在线观看 | 奶好大下面流了好多水水 | 无码国产精品高潮久久9 | 国产一区二区内射最近更新 | 一区二区三区内射美女毛片 | gay台湾无套男同志xnxⅹ | AV午夜午夜快憣免费观看 | 免费看成人毛片 | 人淫阁| 在线视频久久只有精品第一日韩 | 在线观看免费国产成人软件 | 色综合伊人色综合网站中国 | 视频一区视频二区ae86 | 亚洲人成电影网站色2017 | 两个洞一起插哦!好刺激 | 女人爽得直叫免费视频 | 国产成人无码区免费内射一片色欲 | 97在线视频免费播放 | 老阿姨儿子一二三区 | 青柠在线观看视频在线高清 | a亚洲在线观看不卡高清 | 奇米网一区二区三区在线观看 | 国产人成精品综合欧美成人 | 日韩免费一区 |