999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于CPU 總線通信的同步設計方法

2023-05-10 10:26:42上海航天電子技術研究所寧靜鄧一帆劉陶然吳維林陳云
數(shù)字技術與應用 2023年4期
關鍵詞:信號

上海航天電子技術研究所 寧靜 鄧一帆 劉陶然 吳維林 陳云

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

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

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

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

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

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

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

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

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

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

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

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

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

2 CPU 總線通信常見同步設計方法

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

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

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

圖2 CPU 總線寫時序Fig.2 Writing cycle for CPU-bus

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

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

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

3.1 功能仿真結果

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

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

3.2 時序仿真結果

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

CPU 在對其他觸發(fā)器地址(16'h3a0a)進行寫操作時,在地址線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)在時鐘上升沿附近,且被時鐘上升沿采到,輸出端(w_BusTxSend[4])值被改變(如圖4 所示的豎線處)。

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

3.3 故障分析

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

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

4 總線通信同步設計改進措施

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

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

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

5 結論

本文以CPU 總線通信中的寫時序為例,提出了在CPU 時序余量充足的前提下,通過對多比特的地址和數(shù)據(jù)進行同步處理,以此來避免常見的握手協(xié)議存在的安全隱患。改進后的同步設計方法,使得CPU 總線通信更安全可靠。

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發(fā)生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯(lián)鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 精品天海翼一区二区| 老司机午夜精品视频你懂的| 99久久国产综合精品2020| 拍国产真实乱人偷精品| 自拍中文字幕| 国产成人成人一区二区| 丁香婷婷久久| 2021天堂在线亚洲精品专区| 99手机在线视频| 亚洲色无码专线精品观看| 91亚洲国产视频| 亚洲精品麻豆| 动漫精品啪啪一区二区三区| 无码免费试看| 国产欧美精品专区一区二区| 欧美在线观看不卡| 色婷婷电影网| 福利一区在线| a欧美在线| 国产精品网曝门免费视频| 夜夜拍夜夜爽| 精品视频在线一区| 成人在线观看一区| 99精品久久精品| yjizz国产在线视频网| 18禁高潮出水呻吟娇喘蜜芽| 精品综合久久久久久97超人| 欧美不卡二区| 欧美日韩成人在线观看| 亚洲国语自产一区第二页| 四虎永久在线| 亚洲精品爱草草视频在线| 一区二区欧美日韩高清免费 | 国产成人综合久久精品下载| 日韩一区精品视频一区二区| 99re在线免费视频| 啪啪免费视频一区二区| 国内a级毛片| 日本免费新一区视频| 亚洲天堂久久久| 一级高清毛片免费a级高清毛片| 亚洲爱婷婷色69堂| 成人av手机在线观看| 亚洲手机在线| 99资源在线| 国产毛片不卡| 92午夜福利影院一区二区三区| 亚洲精品午夜天堂网页| 国产特一级毛片| 亚洲二区视频| 麻豆精品国产自产在线| 日韩黄色精品| 亚洲精品久综合蜜| 欧美午夜网| 国产在线欧美| 日韩精品无码免费专网站| 亚洲国产成人无码AV在线影院L| 欧美成人免费| 国产永久在线视频| 她的性爱视频| 国产在线视频二区| 1024你懂的国产精品| 成人在线视频一区| 她的性爱视频| 国产美女精品在线| 91福利免费视频| 天堂成人av| 二级特黄绝大片免费视频大片| 一区二区三区国产精品视频| 九色综合视频网| 欧美一区二区福利视频| 超碰免费91| 国产69精品久久久久孕妇大杂乱| 日韩精品无码不卡无码| 九九热在线视频| 国产成人久久综合777777麻豆| 九九热在线视频| 熟妇丰满人妻| yjizz国产在线视频网| 亚洲精品午夜天堂网页| 日韩成人高清无码| 午夜电影在线观看国产1区|