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