基于FSL總線(xiàn)的門(mén)光子計數器設計
3.3.2 與FSL總線(xiàn)接口
fslopn.v的代碼完成與FSL總線(xiàn)接口功能。FSL總線(xiàn)是單向點(diǎn)對點(diǎn)的通道,它用于完成任意FPGA中兩個(gè)模塊的快速通訊。FSL總線(xiàn)是基于FIFO的,基于非共享的無(wú)仲裁通信機制,它的深度是可以設置的,最大可以到8k,具備高速的通信性能,其結構如圖7所示。

由于FSL總線(xiàn)是單向的,所以系統中采用了兩條FSL總線(xiàn),實(shí)現Mieroblaze到計數IP核之間的雙向通訊,計數IP核在面對兩條FSL總線(xiàn)時(shí),擔當的分別是MASTER(主)和SLAVE(從)兩種角色。因此,fsloprt.v的代碼應該同時(shí)滿(mǎn)足與FSL總線(xiàn)接口的讀和寫(xiě)時(shí)序。讀寫(xiě)時(shí)序如圖8和圖9所示。

3.4 計數IP核和FSL總線(xiàn)的在EDK中的連接實(shí)現
為了能使用FSL總線(xiàn),首先應該在XPS圖形界面中對Microblaze進(jìn)行配置,在Buses中將Number of FSL Links設置為1。再在IP Catalog中將FSL總線(xiàn)加入到工程中兩次。
在計數IP核編寫(xiě)后并綜合通過(guò)后,將該IP核導入到XPS工程中。
在XPS中,分別對Microblaze和計數IP核的MFSL和SFSL進(jìn)行連接,將Microblaze的MFSL端連接到計數IP核的SFSL端,反之將計數IP核的MFSL端連接到Microblaze的SFSL端。并在system.mhs中進(jìn)行如下配置:


由于從計數IP到Microblaze方向數據量較大,所以對FSL總線(xiàn)的深度進(jìn)行了配置,如上述代碼中,PARAMETERC_FSL_DEPTH=128,被配置為128級深度。
4 結論
在系統的設計中,光子計數IP核與Mieroblaze軟核之間通過(guò)FSL總線(xiàn)進(jìn)行通訊,并且對FSL總線(xiàn)上的FIFO緩沖進(jìn)行了深度擴充,大大增強了光計數數據的傳輸可靠性。由于系統將門(mén)光子計數的三種模式,以IP核的方式實(shí)現,相對于市場(chǎng)上商用的計數器來(lái)說(shuō),實(shí)現方式靈活,易于配置和擴展,這種方式為門(mén)光子其他可能潛在的計數需求留下了擴展的基礎,并具有較低的設計和生產(chǎn)成本。
評論