异部时钟电路的FPGA设计
整體系統(tǒng)結構如下圖所示:
?
這個設計的輸入輸出信號如下
input req_in – 輸入請求信號 1bit
input addr_input – 輸入地址信號 7bits
input clear – 輸入clear信號,清除req_out
inputreset – reset信號
output ack_in – 完成8個神經元計算就產生ack信號
output req_out – 如果有計算大于2的結果,則產生Req_out
output addr_output – 輸出計算結果大于2的寄存器編號(0,1,2,3,4,5,6,7)
最終跑完simulation, synthesis, implementation,memory選擇DATA_WIDTH = 8, MEM_DEPTH =8192, 就是13位地址位是(7bit addr_input +6bit寄存器編號(0,1,2,3,4,5,6,7))。
輸入信號是1K~1MHz的6bit地址數(shù)據(jù)和1bit req_in,兩個同時送到。
得到地址后Memory輸出存儲好的權重,和對應的8個神經元依次(其實就是寄存器值)相加,得到的數(shù)如果大于2就清零這個寄存器,并產生1個Req信號,如果不大于2就把數(shù)值存入寄存器。
舉個例子,如果有1個Req和起始地址數(shù)據(jù)2,則從MEM提取一個權重數(shù)據(jù),提取的地址分別是20,21,22,23,24,25,26,27,每提取到權重數(shù)據(jù),就和相應的寄存器值(0,1,2,3,4,5,6,7)相加,如果和大于2則清零相應寄存器值,如果小于等于2就把新的值存入相應的寄存器值。
?
最終跑完simulation, synthesis, implementation,memory選擇DATA_WIDTH = 8, MEM_DEPTH =8192, 就是13位地址位是(7bit addr_input +6bit寄存器編號(0,1,2,3,4,5,6,7))。
輸入信號是1K~1MHz的6bit地址數(shù)據(jù)和1bit req_in,兩個同時送到。
得到地址后Memory輸出存儲好的權重,和對應的8個神經元依次(其實就是寄存器值)相加,得到的數(shù)如果大于2就清零這個寄存器,并產生1個Req信號,如果不大于2就把數(shù)值存入寄存器。
舉個例子,如果有1個Req和起始地址數(shù)據(jù)2,則從MEM提取一個權重數(shù)據(jù),提取的地址分別是20,21,22,23,24,25,26,27,每提取到權重數(shù)據(jù),就和相應的寄存器值(0,1,2,3,4,5,6,7)相加,如果和大于2則清零相應寄存器值,如果小于等于2就把新的值存入相應的寄存器值。
下面對這個功能進行驗證:
第一、看clear,當clear=1的時候,reqout就清空,輸出始終為0;
第二、放大仿真圖,可以看到,當ID=7,即第八個神經元完成計算之后,ackin輸出1,表示完成一輪計算。如下圖所示。
第三、(這里,假設100為實際的1,200為實際的2)可以看到,當如下圖所示,當?shù)?個神經元,其數(shù)值為214,即大于2,那么清零,因此后一個值,其清空變?yōu)?。之后,第7個神經元為219大于2,那么之后其清零。當出現(xiàn)大于2的情況,reqout會輸出一個高電平。。。。。
A42-006
總結
以上是生活随笔為你收集整理的异部时钟电路的FPGA设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于FPGA的bubble游戏开发
- 下一篇: MASH结构相噪分析的simulink仿