FGPA异步信号问题
生活随笔
收集整理的這篇文章主要介紹了
FGPA异步信号问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
FPGA在處理異步信號時,盡量打1~2拍寄存器,否則在線調試會發現各種奇怪問題。
下面是verilog代碼
在線調試發現,計數器在跳變
原因是cmd_start由ARM輸出,與FPGA時鐘異步,需要打1~2拍寄存器
reg [5:0] cmdcnt; reg fl_cmd_start; reg cmd_start_0,cmd_start_1; //-----------------------cmd_start濾波------------------//(ARM輸出持續580ns的脈沖) //cmd_start為異步信號,這里打兩拍寄存器(ARM與FPGA時鐘異步) always @(posedge clk_50m) begincmd_start_0 <= cmd_start;cmd_start_1 <= cmd_start_0; endalways@(posedge clk_50m or negedge rst_n) beginif(!rst_n) begincmdcnt <= 6'd0;fl_cmd_start <= 0;end else beginif(cmd_start_1) beginif(cmdcnt==6'd24) fl_cmd_start <= 1'b1;cmdcnt <= cmdcnt + 1'b1;end else begincmdcnt <= 6'd0;fl_cmd_start <= 0;endend end這樣修改后不會出現計數異常跳變
轉載于:https://www.cnblogs.com/qqff/p/11093639.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的FGPA异步信号问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDK1.8中的Stream详解
- 下一篇: Unix高级环境编程 学习小结(一)