亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于CPU 總線通信的同步設(shè)計(jì)方法

        2023-05-10 10:26:42上海航天電子技術(shù)研究所寧?kù)o鄧一帆劉陶然吳維林陳云
        關(guān)鍵詞:信號(hào)

        上海航天電子技術(shù)研究所 寧?kù)o 鄧一帆 劉陶然 吳維林 陳云

        在宇航產(chǎn)品設(shè)計(jì)中,有時(shí)需要把多個(gè)FPGA 作為外設(shè)掛接在CPU 并行總線上。出于功能實(shí)現(xiàn)需求,F(xiàn)PGA和CPU 可能工作在不同的時(shí)鐘域下,而不同時(shí)鐘域下的信號(hào)傳輸需要進(jìn)行跨時(shí)鐘域處理來避免亞穩(wěn)態(tài)問題。本文通過介紹常用的CPU 總線通信同步設(shè)計(jì)方法,提出了握手協(xié)議存在的安全隱患,如果僅對(duì)CPU 控制信號(hào)進(jìn)行跨時(shí)鐘域處理,可能導(dǎo)致FPGA 內(nèi)部觸發(fā)器的數(shù)據(jù)端產(chǎn)生毛刺,從而導(dǎo)致FPGA 誤響應(yīng)CPU 指令。經(jīng)過仿真測(cè)試證明,在CPU 讀寫時(shí)序余量充裕的前提下,可以采用對(duì)多比特的地址線和數(shù)據(jù)線打一拍的操作來解決FPGA 內(nèi)部觸發(fā)器數(shù)據(jù)端的毛刺問題,為更可靠地進(jìn)行總線通信提供了一種思路。

        隨著軍工產(chǎn)品向著高集成度、高速和高可靠性方向發(fā)展[1],基于CPCI 結(jié)構(gòu)的總線通信具有堅(jiān)固、可靠、易于擴(kuò)展、高速等優(yōu)點(diǎn)[2],在航空航天等領(lǐng)域中得到了越來越廣泛的應(yīng)用。在實(shí)際應(yīng)用中,隨著FPGA 實(shí)現(xiàn)的功能越來越復(fù)雜,F(xiàn)PGA 與CPU 之間的通信,跨時(shí)鐘域的情況經(jīng)常不可避免。

        針對(duì)CPU 總線通信出現(xiàn)的跨時(shí)鐘域問題,常見的解決方法是通過握手協(xié)議,僅對(duì)單比特的控制信號(hào)進(jìn)行同步處理,使得并行的多比特地址和數(shù)據(jù)信號(hào)滿足建立時(shí)間和保持時(shí)間的要求。本文在此基礎(chǔ)上,討論了在CPU總線通信中,使用握手協(xié)議存在的安全隱患,并給出了可行的解決方法。

        1 亞穩(wěn)態(tài)

        時(shí)鐘域包含單時(shí)鐘域和多時(shí)鐘域。同一時(shí)鐘域下的信號(hào)傳輸不需要進(jìn)行同步處理,而跨時(shí)鐘域下的信號(hào)傳輸,需要進(jìn)行同步處理,否則會(huì)引入亞穩(wěn)態(tài)問題,亞穩(wěn)態(tài)問題解決不當(dāng)會(huì)造成采樣數(shù)據(jù)錯(cuò)誤,功能失效。

        造成亞穩(wěn)態(tài)問題的根本原因在于FPGA 內(nèi)部觸發(fā)器無法滿足建立時(shí)間和保持時(shí)間的時(shí)序要求。建立時(shí)間是指在時(shí)鐘沿到來之前,觸發(fā)器輸入數(shù)據(jù)信號(hào)必須保持穩(wěn)定的時(shí)間。保持時(shí)間是指在時(shí)鐘沿之后,數(shù)據(jù)信號(hào)必須保持穩(wěn)定的時(shí)間[3]。

        當(dāng)觸發(fā)器輸入端的信號(hào)跳變時(shí)刻與時(shí)鐘沿很接近,無法滿足建立時(shí)間或保持時(shí)間的余量要求,則觸發(fā)器進(jìn)入亞穩(wěn)態(tài)狀態(tài),既無法預(yù)測(cè)該觸發(fā)器的輸出電平,也無法預(yù)測(cè)何時(shí)輸出才能穩(wěn)定在某個(gè)正確的電平上。在這個(gè)穩(wěn)定期間,觸發(fā)器輸出一些中間級(jí)電平,或者可能處于振蕩狀態(tài),并且這種無用的輸出電平可以沿信號(hào)通道上的各個(gè)觸發(fā)器級(jí)聯(lián)式傳播下去。

        當(dāng)信號(hào)在不同的時(shí)鐘域之間進(jìn)行傳遞時(shí),由于無法確定輸入信號(hào)跟接收時(shí)鐘上升沿之間的時(shí)間關(guān)系[4],會(huì)出現(xiàn)亞穩(wěn)態(tài)現(xiàn)象。

        CPU 總線通信模型中,CPU 與FPGA 的信號(hào)交互如圖1 所示。

        圖1 典型的CPU 總線通信模型Fig.1 A typical CPU-bus communication model

        典型的CPU 寫數(shù)據(jù)流程為:CPU 輸出控制信號(hào)(片選信號(hào)、寫使能信號(hào)、讀使能信號(hào))、地址信號(hào)、數(shù)據(jù)信號(hào)給FPGA。

        典型的CPU 讀數(shù)據(jù)流程為:CPU 輸出控制信號(hào)(片選信號(hào)、寫使能信號(hào)、讀使能信號(hào))、地址信號(hào)給FPGA,F(xiàn)PGA 返回相應(yīng)的數(shù)據(jù)信號(hào)給CPU。

        在CPCI 總線通信模型中,CPU 通過分段地址,可以同時(shí)控制多個(gè)FPGA。CPU 工作在clk_cpu 時(shí)鐘域下,F(xiàn)PGA1 工作在clk1 時(shí)鐘域下,F(xiàn)PGA2 工作在clk2 時(shí)鐘域下。clk_cpu、clk1、clk2 三個(gè)時(shí)鐘的工作頻率可能相同也可能不同,相位固定也可能隨時(shí)變化。由于現(xiàn)在宇航產(chǎn)品實(shí)現(xiàn)的功能越來越復(fù)雜,多數(shù)情況下,CPU 與FPGA工作在不同的時(shí)鐘頻率下,屬于多時(shí)鐘域設(shè)計(jì)。因此,控制信號(hào)、地址信號(hào)、數(shù)據(jù)信號(hào)在CPU 與FPGA 產(chǎn)品之間傳輸時(shí),必須進(jìn)行跨時(shí)鐘域處理來避免亞穩(wěn)態(tài)問題。

        2 CPU 總線通信常見同步設(shè)計(jì)方法

        跨時(shí)鐘域數(shù)據(jù)總線的傳輸,數(shù)據(jù)的使能信號(hào)通過握手信號(hào)完成,握手信號(hào)是源電路聲明它的請(qǐng)求信號(hào),目的電路檢測(cè)到該請(qǐng)求信號(hào)有效后,會(huì)有應(yīng)答,請(qǐng)求信號(hào)有效的過程中數(shù)據(jù)是穩(wěn)定的[5]。

        CPU 總線通信中,F(xiàn)PGA 頂層輸入的控制信號(hào)、地址和數(shù)據(jù)信號(hào)來自于CPU 所在的時(shí)鐘域,與FPGA 內(nèi)部的時(shí)鐘域?yàn)楫惒綍r(shí)鐘域,因此需要進(jìn)行同步設(shè)計(jì)來避免亞穩(wěn)態(tài)問題。

        通過握手協(xié)議可以僅對(duì)請(qǐng)求信號(hào)和應(yīng)答信號(hào)進(jìn)行同步,使得并行數(shù)據(jù)有足夠的時(shí)間滿足建立時(shí)間和保持時(shí)間的時(shí)序要求[6]。握手協(xié)議常用于解決并行總線通信的同步問題。如圖2 所示,寫使能信號(hào)進(jìn)行同步處理后,通過判沿操作,找到寫使能下降沿的位置(虛線處),此時(shí)多比特的地址和數(shù)據(jù)信號(hào),處于穩(wěn)定狀態(tài),滿足建立時(shí)間和保持時(shí)間的要求。通過握手協(xié)議,可以解決CPU和FPGA 工作在不同時(shí)鐘域可能導(dǎo)致的亞穩(wěn)態(tài)及采樣數(shù)據(jù)錯(cuò)誤等一系列問題。

        圖2 CPU 總線寫時(shí)序Fig.2 Writing cycle for CPU-bus

        3 握手協(xié)議存在的安全隱患

        常見的CPU 總線通信同步設(shè)計(jì)中,僅對(duì)控制信號(hào)進(jìn)行同步處理,可能導(dǎo)致綜合及布局布線后,未進(jìn)行同步處理的地址和數(shù)據(jù)信號(hào),通過一系列組合邏輯后,直接參與到FPGA 內(nèi)部觸發(fā)器的使能端或數(shù)據(jù)端。由于傳輸路徑的延遲不同,在組合邏輯的輸出處出現(xiàn)競(jìng)爭(zhēng)和冒險(xiǎn)[7],導(dǎo)致在地址和數(shù)據(jù)的跳變處使得相關(guān)觸發(fā)器的使能端或數(shù)據(jù)端出現(xiàn)毛刺。

        下文以實(shí)際項(xiàng)目為例,說明常見的握手協(xié)議存在的安全隱患。

        3.1 功能仿真結(jié)果

        FPGA 內(nèi)部觸發(fā)器的約定地址為16'h70B9,數(shù)據(jù)總線不為0 時(shí),觸發(fā)器o_tx_Send[4]輸出1。前仿真結(jié)果顯示,F(xiàn)PGA 內(nèi)部對(duì)寫使能進(jìn)行了同步處理,之后在寫使能下降沿的位置(如圖3 所示的豎線處)判定地址i_cpci_addr 并獲取數(shù)據(jù)總線io_cpci_data 的內(nèi)容,此種情況下地址和數(shù)據(jù)均處于穩(wěn)定狀態(tài)且余量充足。CPU 與FPGA 可以正常通信,指令響應(yīng)正確。

        圖3 在寫使能下降沿處判斷地址及數(shù)據(jù)Fig.3 Access the address and data at the negedge of writing-enable

        3.2 時(shí)序仿真結(jié)果

        在功能仿真的基礎(chǔ)上,對(duì)布局布線后的網(wǎng)表開展時(shí)序仿真工作,總線通信異常,具體如下:

        CPU 在對(duì)其他觸發(fā)器地址(16'h3a0a)進(jìn)行寫操作時(shí),在地址線i_cpci_addr、數(shù)據(jù)線io_cpci_data 跳變處,觸發(fā)器r_TxSend[4]的使能端(N_343)和數(shù)據(jù)端(N_256)產(chǎn)生了約4ns 的毛刺,使能端(N_343)和數(shù)據(jù)端(N_256)的毛刺出現(xiàn)在時(shí)鐘上升沿附近,且被時(shí)鐘上升沿采到,輸出端(w_BusTxSend[4])值被改變(如圖4 所示的豎線處)。

        圖4 無關(guān)地址跳變,觸發(fā)器輸出改變Fig.4 Not-related address changed,the output of flip-flop is changed

        3.3 故障分析

        進(jìn)一步對(duì)故障的情況進(jìn)行分析,在布局布線后的網(wǎng)表中對(duì)使能信號(hào)進(jìn)行追溯,使能信號(hào)N_343 產(chǎn)生的邏輯如下:頂層輸入的地址w_Addr_c_0[7:0]和數(shù)據(jù)Io_cpci_data_in_0 經(jīng)過一系列的組合邏輯,直接到達(dá)r_TxSend[4]的使能端,由于頂層輸入的地址和數(shù)據(jù)與FPGA 內(nèi)部的采樣時(shí)鐘為異步關(guān)系,地址和數(shù)據(jù)在跳變時(shí)由組合邏輯競(jìng)爭(zhēng)冒險(xiǎn)產(chǎn)生的毛刺,如圖5 所示,有一定的概率被時(shí)鐘上升沿采到。

        圖5 使能端產(chǎn)生毛刺Fig.5 The burr at the enabe port of flip-flop

        4 總線通信同步設(shè)計(jì)改進(jìn)措施

        在CPU 內(nèi)總線讀寫時(shí)序余量充足的情況下,可以通過對(duì)多比特的地址線和數(shù)據(jù)線用FPGA 內(nèi)部時(shí)鐘打拍的操作,來解決經(jīng)過組合邏輯后地址和數(shù)據(jù)跳變產(chǎn)生的毛刺不可控問題。

        對(duì)并行的地址線和數(shù)據(jù)線打拍處理后,在此基礎(chǔ)上,重新布局布線進(jìn)行時(shí)序仿真,F(xiàn)PGA 內(nèi)部觸發(fā)器r_TxSend[4]的使能端(N_403)和數(shù)據(jù)端(N_320),在無效地址和無效數(shù)據(jù)跳變時(shí),不再產(chǎn)生毛刺。時(shí)序仿真波形圖如圖6 所示。

        圖6 使能端不再產(chǎn)生毛刺Fig.6 No burr at the enabe port of flip-flop

        5 結(jié)論

        本文以CPU 總線通信中的寫時(shí)序?yàn)槔岢隽嗽贑PU 時(shí)序余量充足的前提下,通過對(duì)多比特的地址和數(shù)據(jù)進(jìn)行同步處理,以此來避免常見的握手協(xié)議存在的安全隱患。改進(jìn)后的同步設(shè)計(jì)方法,使得CPU 總線通信更安全可靠。

        猜你喜歡
        信號(hào)
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        7個(gè)信號(hào),警惕寶寶要感冒
        媽媽寶寶(2019年10期)2019-10-26 02:45:34
        孩子停止長(zhǎng)個(gè)的信號(hào)
        《鐵道通信信號(hào)》訂閱單
        基于FPGA的多功能信號(hào)發(fā)生器的設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:42
        基于Arduino的聯(lián)鎖信號(hào)控制接口研究
        《鐵道通信信號(hào)》訂閱單
        基于LabVIEW的力加載信號(hào)采集與PID控制
        Kisspeptin/GPR54信號(hào)通路促使性早熟形成的作用觀察
        我和丰满妇女激情视频| 欧美在线观看www| 国产高清不卡在线视频| 日韩精品视频久久一区二区| 凹凸在线无码免费视频| 国产亚洲精品看片在线观看| 日韩国产有码精品一区二在线| 国产自拍成人免费视频| 少妇仑乱a毛片| 欧美极品第一页| 粉嫩的18在线观看极品精品| 中文字幕日韩人妻少妇毛片| 亚洲av天天做在线观看| 亚洲色成人网一二三区| 蜜桃一区二区三区在线视频| 无套内谢孕妇毛片免费看| 丰满多毛的大隂户视频| 久久亚洲日本免费高清一区| 日本一二三区在线不卡| 伊人大杳焦在线| 亚洲深深色噜噜狠狠爱网站| 黄色av三级在线免费观看| 亚州终合人妖一区二区三区| 久久久国产精品免费a片3d| AV无码中文字幕不卡一二三区| 最新国产一区二区三区| 日韩经典午夜福利发布| 丰满少妇被猛男猛烈进入久久| 国产在线看不卡一区二区| 99久久精品人妻少妇一| 亚洲av无码专区亚洲av伊甸园| 国产小视频网址| 国产av精品久久一区二区| 三级全黄裸体| 亚洲综合av在线在线播放| 国产人妖一区二区在线| 真实夫妻露脸爱视频九色网| 国产精品无码成人午夜电影| 精精国产xxx在线视频app| 男男啪啪激烈高潮无遮挡网站网址| 人与禽性视频77777|