當(dāng)前,使用FPGA來進(jìn)行數(shù)字邏輯課程實(shí)驗(yàn)以及相關(guān)動(dòng)手實(shí)踐、創(chuàng)新已經(jīng)被越來越多的老師和學(xué)生所接受。學(xué)習(xí)數(shù)字邏輯基礎(chǔ)課的同時(shí),掌握FPGA設(shè)計(jì)的基本流程和技巧也會對后續(xù)的學(xué)習(xí)以及工作有莫大的好處。
EGO1,這一最新的Xilinx口袋實(shí)驗(yàn)平臺正是為此而生!各位對EGO1還不是很熟悉的小伙伴們,請點(diǎn)擊這里詳細(xì)閱讀EGO1口袋實(shí)驗(yàn)平臺的詳細(xì)介紹。
EGO1配套教材-《基于Xilinx Vivado的數(shù)字邏輯實(shí)驗(yàn)教程》
針對初學(xué)上手的小伙伴們,EGO1口袋實(shí)驗(yàn)平臺推薦有多部參考教材。今天要介紹的就是一本來自于哈爾濱工業(yè)大學(xué)電工電子實(shí)驗(yàn)教學(xué)中心電子學(xué)實(shí)驗(yàn)室主任廉玉欣老師精心編寫的-《基于Xilinx Vivado的數(shù)字邏輯實(shí)驗(yàn)教程》。
本書由依元素科技提供技術(shù)支持,以Xilinx公司最新的Vivado FPGA集成開發(fā)環(huán)境為基礎(chǔ),將數(shù)字邏輯設(shè)計(jì)與硬件描述語言Verilog HDL相結(jié)合,循序漸進(jìn)地介紹了基于Xilinx Vivado的數(shù)字邏輯實(shí)驗(yàn)的基本過程和方法。書中包含了大量的設(shè)計(jì)實(shí)例,內(nèi)容翔實(shí)、系統(tǒng)、全面。
目前該書已在各大平臺以及實(shí)體書店有售,使用EGO1學(xué)習(xí)數(shù)字邏輯以及FPGA設(shè)計(jì)的小伙伴們可不要錯(cuò)過噢!
EGO1動(dòng)手練習(xí)
今天我們EGO1動(dòng)手練習(xí)部分要做的是一個(gè)計(jì)數(shù)器實(shí)驗(yàn)。這個(gè)實(shí)驗(yàn)在參考教材《基于Xilinx Vivado的數(shù)字邏輯實(shí)驗(yàn)教程》的第5章第3節(jié),是時(shí)序邏輯實(shí)驗(yàn)部分的10K進(jìn)制計(jì)數(shù)器實(shí)驗(yàn)。
在Verilog中,實(shí)現(xiàn)一個(gè)任意位的計(jì)數(shù)器非常容易。一個(gè)計(jì)數(shù)器的行為就是在每個(gè)時(shí)鐘的上升沿使輸出加1。
我們通過編寫Verilog代碼來完成這個(gè)計(jì)數(shù)器邏輯電路。
其中,mod10kcnt_top.v為計(jì)數(shù)器實(shí)驗(yàn)的頂層模塊。該模塊的作用是將各個(gè)模塊連接起來。
clkdiv.v為時(shí)鐘分頻模塊,將輸入為100MHz的時(shí)鐘分頻為190Hz和48Hz。
mod10kcnt.v為10K進(jìn)制計(jì)數(shù)器模塊。該模塊的輸入時(shí)鐘為48Hz。
binbcd14.v為14位二進(jìn)制轉(zhuǎn)BCD碼模塊,該模塊的作用是將10K進(jìn)制計(jì)數(shù)器模塊的輸出轉(zhuǎn)換為BCD碼。
x7segbc.v為數(shù)碼管模塊。該模塊的輸入時(shí)鐘為190Hz,該模塊的作用是將轉(zhuǎn)換后的BCD碼通過數(shù)碼管顯示出來。
mod10kcnt_top_tb.v為Testbench文件,該文件的作用是給這個(gè)計(jì)數(shù)器邏輯電路施加測試激勵(lì)信號,并進(jìn)行仿真。
mod10kcnt_top_top.xdc為管腳約束文件。
關(guān)于實(shí)驗(yàn)原理部分的詳細(xì)講解,有興趣的小伙伴們可以查閱參考書的對應(yīng)章節(jié)。
實(shí)驗(yàn)源文件準(zhǔn)備妥當(dāng)之后,我們就可以開始動(dòng)手實(shí)踐啦。
首先當(dāng)然是打開Vivado工具咯,這里我們使用最新的2017版本的Vivado開發(fā)環(huán)境。什么?你還沒有安裝Vivado么?表擔(dān)心啦,我們提供有詳細(xì)的Vivado安裝流程。
Vivado開發(fā)環(huán)境成功打開后,它的主界面如下。
接下來就讓我們開始使用Vivado完成這個(gè)實(shí)驗(yàn)吧。如果有對Vivado操作不熟悉的小伙伴們也不用擔(dān)心啦,我們提供有STEP-BY-STEP的指導(dǎo)噢。
首先,我們進(jìn)行實(shí)驗(yàn)仿真。下面是仿真的結(jié)果。
同時(shí),我們可以在Vivado中查看我們RTL所對應(yīng)的原理圖。
在完成Vivado FPGA綜合流程后,我們還可以看到這段電路綜合后的原理圖。
最后,我們完成設(shè)計(jì)的整體實(shí)現(xiàn),可以看到這段電路在實(shí)際的FPGA芯片中的線路圖。
接下來,就可以在硬件平臺上下載驗(yàn)證啦。當(dāng)然,我們也有使用EGO1口袋實(shí)驗(yàn)平臺來進(jìn)行硬件下載的詳細(xì)步驟介紹喲。
硬件配置完成后,我們就可以在EGO1平臺上來驗(yàn)證我們的設(shè)計(jì)啦,這個(gè)設(shè)計(jì)中我們將EGO1開發(fā)板的撥碼開關(guān)SW0作為clr的輸入,同時(shí)用數(shù)碼管顯示計(jì)數(shù)結(jié)果。將SW0拉高后,計(jì)數(shù)結(jié)果就直接顯示在數(shù)碼管上面了。好啦,各位小伙伴們大家看看我們的電路計(jì)算正確么?
FPGA我們是認(rèn)真的!
-
FPGA
+關(guān)注
關(guān)注
1630文章
21773瀏覽量
604668 -
FPGA設(shè)計(jì)
+關(guān)注
關(guān)注
9文章
428瀏覽量
26561 -
Xilinx
+關(guān)注
關(guān)注
71文章
2169瀏覽量
121782 -
數(shù)碼管
+關(guān)注
關(guān)注
32文章
1883瀏覽量
91282 -
egO1開發(fā)板
+關(guān)注
關(guān)注
1文章
3瀏覽量
4806
原文標(biāo)題:【玩轉(zhuǎn)EGO1系列教程九】:使用EGO1動(dòng)手學(xué)習(xí)數(shù)字邏輯系列(4)
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論