FPGA实验三——计数器的实现并用SignalTap验证
實驗三
? 1、參照代碼,設(shè)計一個0-17的計數(shù)器,當(dāng)計數(shù)值為17的時候, OV輸出1,其他輸出0,注意設(shè)定合理的信號位寬。
? 2、針對以上計數(shù)器,修改輸出邏輯,當(dāng)計數(shù)值為0-8時, OV輸出0,9-17時OV輸出1
? 用SignalTap驗證
? 嘗試并思考,如果時鐘是50MHz,把OV接到一個LED上,能看見什么現(xiàn)象,為什么?
1.設(shè)計一個0-17的計數(shù)器,當(dāng)計數(shù)值為17的時候, OV輸出1,其他輸出0,注意設(shè)定合理的信號位寬。
設(shè)計過程如下:
由上圖可以看到時序仿真存在毛刺。我們放大來看,由2變到3的時候是正常的,但是由3變到4的時候中間卻出現(xiàn)了2和6,這是因為2(010)到3(011)只發(fā)生最低位從0到1變化一次即可,但是3(011)到4(100)卻要三位全都改變,這在計算機處理的時候需要一個過程先要最低位的1變?yōu)?(出現(xiàn)2(010)),再把最高位的0變成1(出現(xiàn)6(110)),再把第二位的1變成0,就是最終的結(jié)果4了!
用SignalTap驗證:
2、針對以上計數(shù)器,修改輸出邏輯,當(dāng)計數(shù)值為0-8時, OV輸出0,9-17時OV輸出1
嘗試并思考,如果時鐘是50MHz,把OV接到一個LED上,能看見什么現(xiàn)象,為什么?
如果時鐘是50MHz,那么一個周期就是20ns,再執(zhí)行上面的程序,也就是說LED燈會在9-17這個過程變亮,其余時間是滅的,但是亮的持續(xù)時間只有9*20=180ns,用肉眼分辨不出來,看到的是常亮的狀態(tài)。如下圖所示:
1
總結(jié)
以上是生活随笔為你收集整理的FPGA实验三——计数器的实现并用SignalTap验证的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LimeSDR性能参数介绍及如何用它实现
- 下一篇: FPGA实验四——时间基准电路和带使能的