本系列所有演示實(shí)驗(yàn)均出自由東南大學(xué)湯勇明教授、張圣清教授與Xilinx大學(xué)計(jì)劃經(jīng)理陸佳華先生所編著的教材《搭建你的數(shù)字積木·數(shù)字電路與邏輯設(shè)計(jì)(Verilog HDL&Vivado版)》。此教材為教育部Xilinx公司產(chǎn)學(xué)合作專(zhuān)業(yè)綜合改革重點(diǎn)支持項(xiàng)目,并作為Xilinx公司大學(xué)計(jì)劃指定教材。
本書(shū)系統(tǒng)論述了數(shù)字電路與邏輯設(shè)計(jì)的理論、方法與實(shí)踐技術(shù)。全書(shū)基于Verilog HDL與Vivado開(kāi)發(fā)環(huán)境,共18章,詳盡介紹了如下內(nèi)容: 邏輯設(shè)計(jì)與Vivado基礎(chǔ)、布爾代數(shù)與Verilog HDL基礎(chǔ)、組合邏輯電路設(shè)計(jì)基礎(chǔ)、時(shí)序邏輯電路設(shè)計(jì)基礎(chǔ)、有限狀態(tài)機(jī)設(shè)計(jì)基礎(chǔ)、邏輯設(shè)計(jì)工程技術(shù)基礎(chǔ)、Vivado數(shù)字積木流程、串行通信接口控制器、RAM接口控制器、字符點(diǎn)陣顯示模塊接口控制器、VGA接口控制器、數(shù)字圖像采集、數(shù)字邏輯系統(tǒng)設(shè)計(jì)案例、單周期CPU設(shè)計(jì)案例、數(shù)字信號(hào)處理設(shè)計(jì)案例(FIR)、數(shù)字圖像處理設(shè)計(jì)案例、大學(xué)生FPGA設(shè)計(jì)案例以及Xilinx資源導(dǎo)讀。
為便于教師和廣大讀者學(xué)習(xí)與動(dòng)手實(shí)踐,本書(shū)配套提供了教學(xué)課件、教學(xué)視頻及程序代碼等教學(xué)資源。本書(shū)適合作為普通高等院校電子信息類(lèi)、電氣信息類(lèi)、自動(dòng)化類(lèi)專(zhuān)業(yè)的本科生教材,也可作為相關(guān)專(zhuān)業(yè)研究生參考教材,并適合作為電子與電氣工程技術(shù)領(lǐng)域的科研工程技術(shù)人員的參考用書(shū)。
實(shí)驗(yàn)步驟實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)介紹32位單周期處理器設(shè)計(jì),并在EGO1開(kāi)發(fā)板上實(shí)現(xiàn)。
實(shí)驗(yàn)原理本實(shí)驗(yàn)用以下模塊來(lái)實(shí)現(xiàn):
ALU:ALU算術(shù)邏輯單元,是處理器中的一個(gè)重要功能模塊,用來(lái)執(zhí)行多組加減乘除等算術(shù)運(yùn)算以及或與非等邏輯運(yùn)算。算術(shù)邏輯單元的操作和種類(lèi)由控制器覺(jué)定,處理的數(shù)據(jù)來(lái)自存儲(chǔ)器,處理后的結(jié)果送回存儲(chǔ)器或者暫存于算術(shù)邏輯單元中。ALU框圖如下所示,alu為控制信號(hào),包括了ALU需要執(zhí)行的運(yùn)算的命令,a和b為兩個(gè)輸入,r是運(yùn)算結(jié)果,z為carry。
REGFILE:一個(gè)32位深度的寄存器文件,用于緩存來(lái)自memory或ALU的數(shù)據(jù)指令op和func將被轉(zhuǎn)換成wreg、regrt、shift等信號(hào),如下圖所示:
DATAPATH: DATAPATH用于連接所有的子模塊,同時(shí)具備指令計(jì)數(shù)器的功能,其框圖如下圖所示:
INSTMEM:instruction memory,指令儲(chǔ)存器,用于存放工程的測(cè)試指令。
DATAMEM:用于存儲(chǔ)所有工程測(cè)試數(shù)據(jù)例如ALU計(jì)算結(jié)果等。輸入為寫(xiě)使能、時(shí)鐘、地址以及寫(xiě)入的數(shù)據(jù),輸出為data_out信號(hào),其框圖如下所示:
KEY2INST:將開(kāi)關(guān)狀態(tài)轉(zhuǎn)換為CPU的指令。
SHOWONLED:將最終計(jì)算結(jié)果或者開(kāi)關(guān)狀態(tài)按照預(yù)先設(shè)定好的模式通過(guò)LED展示給用戶(hù)。輸入計(jì)算結(jié)果和開(kāi)關(guān)狀態(tài),輸出為控制LED的信號(hào),其框圖如下所示:
通過(guò)本實(shí)驗(yàn),可實(shí)現(xiàn)一個(gè)CPU,根據(jù)輸入的指令控制LED燈。
實(shí)驗(yàn)資料:可以通過(guò)github下載,下載鏈接請(qǐng)點(diǎn)擊這里。
代碼說(shuō)明:本實(shí)驗(yàn)的代碼已經(jīng)全部封裝成IP核,用戶(hù)只需將IP核調(diào)用并正確連續(xù)即可,MIPS_CPU.xdc為本實(shí)驗(yàn)的管腳約束文件。
-
本實(shí)驗(yàn)使用Vivado 2017.1 進(jìn)行開(kāi)發(fā),開(kāi)發(fā)界面如下。如果您未安裝vivado,安裝流程請(qǐng)點(diǎn)擊這里。
2.實(shí)驗(yàn)RTL視圖:
3.代碼綜合后效果圖:
4. 代碼實(shí)現(xiàn)后效果圖:
具體vivado步驟請(qǐng)參看之前的微信文章,文章鏈接請(qǐng)點(diǎn)擊這里。
驗(yàn)證流程將代碼下載到板卡后,可按照下面的操作實(shí)現(xiàn)一個(gè)簡(jiǎn)單的加法運(yùn)算,兩個(gè)家數(shù)分別為16位的0000000100000000和16位的0000000000000000,操作過(guò)程如下:
-
將B14-B0設(shè)置為0,將B15設(shè)置為0,然后再設(shè)置為1,完成系統(tǒng)復(fù)位。
-
將B9-B8設(shè)置為10,將B7-B0設(shè)置為00000001,然后將B13設(shè)置為1后馬上設(shè)置為0,目的是加載data+bh。
-
將B9-B8設(shè)置為11,將B7-B0設(shè)置為00000000,然后將B13設(shè)置為1后馬上設(shè)置為0,目的是加載data_bl。
-
將B9-B8設(shè)置為00,將B7-B0設(shè)置為00000000,然后將B13設(shè)置為1后馬上設(shè)置為0,目的是加載data_ah。
-
將B9-B8設(shè)置為01,將B7-B0設(shè)置為00000000,然后將B13設(shè)置為1后馬上設(shè)置為0,目的是加載data_al。
-
將B12-B10設(shè)置為000,這樣就選擇了加法運(yùn)算模式。然后將B14設(shè)置為1,此時(shí)CPU運(yùn)行運(yùn)算,結(jié)果為0000000100000000,此時(shí)的結(jié)果將顯示在16位LED上。
-
ALU
+關(guān)注
關(guān)注
0文章
34瀏覽量
13287 -
eg01開(kāi)發(fā)板
+關(guān)注
關(guān)注
0文章
1瀏覽量
1826 -
單周期處理器
+關(guān)注
關(guān)注
0文章
1瀏覽量
1430
原文標(biāo)題:【玩轉(zhuǎn)EGO1系列教程三】:在EGO1開(kāi)發(fā)板上實(shí)現(xiàn)RISC
文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開(kāi)發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于RK處理器,創(chuàng)龍TL3562-MiniEVM開(kāi)發(fā)板試用體驗(yàn)

技術(shù)分享 | 如何在2k0300(LoongArch架構(gòu))處理器上跑通qt開(kāi)發(fā)流程

Linux開(kāi)發(fā)板CAN總線測(cè)試方法,觸覺(jué)智能RK3568開(kāi)發(fā)板演示

NXP基于i.MX 91應(yīng)用處理器打造的FRDM i.MX 91開(kāi)發(fā)板特性參數(shù)詳解

爆款推薦 |?迅為RK3568開(kāi)發(fā)板4核處理器+1T算力NPU+好用到爆的配套資料和視頻!

基于龍芯2K0300處理器 龍芯中科攜手正點(diǎn)原子發(fā)布龍芯ATK-DL2K0300B開(kāi)發(fā)板

恩智浦推出FRDM i.MX 93開(kāi)發(fā)板
正點(diǎn)原子fpga開(kāi)發(fā)板不同型號(hào)
米爾RK3576開(kāi)發(fā)板特惠活動(dòng)!

ARM開(kāi)發(fā)板與FPGA的結(jié)合應(yīng)用
ARM開(kāi)發(fā)板與樹(shù)莓派的比較
如何選擇合適的ARM開(kāi)發(fā)板
linux開(kāi)發(fā)板與樹(shù)莓派的區(qū)別
linux開(kāi)發(fā)板和單片機(jī)開(kāi)發(fā)的區(qū)別
米爾基于NXP iMX.93開(kāi)發(fā)板的M33處理器應(yīng)用開(kāi)發(fā)筆記

評(píng)論