基于FSL總線的門光子計數(shù)器設計
3.3.2 與FSL總線接口
fslopn.v的代碼完成與FSL總線接口功能。FSL總線是單向點對點的通道,它用于完成任意FPGA中兩個模塊的快速通訊。FSL總線是基于FIFO的,基于非共享的無仲裁通信機制,它的深度是可以設置的,最大可以到8k,具備高速的通信性能,其結構如圖7所示。
由于FSL總線是單向的,所以系統(tǒng)中采用了兩條FSL總線,實現(xiàn)Mieroblaze到計數(shù)IP核之間的雙向通訊,計數(shù)IP核在面對兩條FSL總線時,擔當?shù)姆謩e是MASTER(主)和SLAVE(從)兩種角色。因此,fsloprt.v的代碼應該同時滿足與FSL總線接口的讀和寫時序。讀寫時序如圖8和圖9所示。
3.4 計數(shù)IP核和FSL總線的在EDK中的連接實現(xiàn)
為了能使用FSL總線,首先應該在XPS圖形界面中對Microblaze進行配置,在Buses中將Number of FSL Links設置為1。再在IP Catalog中將FSL總線加入到工程中兩次。
在計數(shù)IP核編寫后并綜合通過后,將該IP核導入到XPS工程中。
在XPS中,分別對Microblaze和計數(shù)IP核的MFSL和SFSL進行連接,將Microblaze的MFSL端連接到計數(shù)IP核的SFSL端,反之將計數(shù)IP核的MFSL端連接到Microblaze的SFSL端。并在system.mhs中進行如下配置:
由于從計數(shù)IP到Microblaze方向數(shù)據(jù)量較大,所以對FSL總線的深度進行了配置,如上述代碼中,PARAMETERC_FSL_DEPTH=128,被配置為128級深度。
4 結論
在系統(tǒng)的設計中,光子計數(shù)IP核與Mieroblaze軟核之間通過FSL總線進行通訊,并且對FSL總線上的FIFO緩沖進行了深度擴充,大大增強了光計數(shù)數(shù)據(jù)的傳輸可靠性。由于系統(tǒng)將門光子計數(shù)的三種模式,以IP核的方式實現(xiàn),相對于市場上商用的計數(shù)器來說,實現(xiàn)方式靈活,易于配置和擴展,這種方式為門光子其他可能潛在的計數(shù)需求留下了擴展的基礎,并具有較低的設計和生產(chǎn)成本。
評論