国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SRIO介紹及xilinx的vivado 2017.4中生成srio例程代碼解釋

FPGA設(shè)計(jì)論壇 ? 來源:FPGA設(shè)計(jì)論壇 ? 2024-12-10 16:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 概述

本文是用于記錄srio的學(xué)習(xí)情況,以及一些對xilinx的vivado 2017.4中生成srio例程代碼的解釋。

2. 參考文件

《pg007_srio_gen2》

3. SRIO協(xié)議介紹

本處將從SRIO的數(shù)據(jù)流,數(shù)據(jù)協(xié)議,常用FPGA支持模式,以及IP例程中的時(shí)鐘大小計(jì)算等部分介紹SRIO的情況。

3.1 SRIO的數(shù)據(jù)流

SRIO通過生成IP后,通常情況下主要使用的接口為四組:ireq,iresp,treq,tresp。每個(gè)IP生成后都有這四組接口,即可以同時(shí)用于發(fā)送數(shù)據(jù),接收數(shù)據(jù),發(fā)送響應(yīng)數(shù)據(jù),接收響應(yīng)數(shù)據(jù)。而這些接口間的信號流向如下圖所示:

de37d6b4-b5df-11ef-93f3-92fbcf53809c.jpg

即其信號流為IREQ發(fā)出給TREQ,TRESP發(fā)出給IRESP。

3.2 SRIO的數(shù)據(jù)協(xié)議

SRIO傳輸與響應(yīng)的包類型很多,具體看手冊P73-P74頁。

在使用Xilinx的ip核時(shí),通常用的都是HELLO包,所以這里指給HELLO包的格式。如下圖所示。Packet 中的具體符號表示意義請查看手冊P76-P77頁。其中的size為一包傳輸byte的數(shù)據(jù)量,范圍為1-256 bytes。

de5264de-b5df-11ef-93f3-92fbcf53809c.jpg

其典型的傳輸數(shù)據(jù)的用戶接口代碼的波形協(xié)議如下圖所示:

de5e83b8-b5df-11ef-93f3-92fbcf53809c.jpg

3.3 SRIO常用FPGA支持的模式

de6dd25a-b5df-11ef-93f3-92fbcf53809c.jpg

3.4 SRIO例程代碼的時(shí)鐘計(jì)算

refclk可使用時(shí)鐘如下圖table3-3所示。其中典型的時(shí)鐘計(jì)算如Table3-4表頭所示。:

gt_clk = line_rate/20;

gt_pcs_clk = line_rate/40;

phy_clk = (gt_clk*link_width)/4;

log_clk = phy_clk;

cfg_clk = phy_clk;

de86fd5c-b5df-11ef-93f3-92fbcf53809c.jpg

de9a40ba-b5df-11ef-93f3-92fbcf53809c.jpg

4. SRIO的例程代碼結(jié)構(gòu)

SRIO生成例程后,其例程結(jié)構(gòu)如下圖所示。看著有8個(gè)文件,但常規(guī)情況下與我們相關(guān)的只有只有兩個(gè)文件,即下圖高亮的兩個(gè)文件:

srio_request_gen_srio_gen2_0(發(fā)送數(shù)據(jù)模塊);

srio_response_gen_srio_gen2_0(接收數(shù)據(jù)模塊)

deaee060-b5df-11ef-93f3-92fbcf53809c.jpg

4.1 SRIO發(fā)送模塊詳解

SRIO發(fā)送模塊中主要有兩部分代碼,發(fā)送數(shù)據(jù)部分(ireq),發(fā)送響應(yīng)數(shù)據(jù)部分(iresp)。接收部分端口如下圖所示:

decf2564-b5df-11ef-93f3-92fbcf53809c.jpg

4.1.1 發(fā)送數(shù)據(jù)部分代碼功能說明

發(fā)送的包頭數(shù)據(jù)的來源為“request_data_out = instruction[request_ address]”,即數(shù)據(jù)是從`include "instruction_list.vh"文件中調(diào)入的。而選擇其文件中的哪些數(shù)據(jù)則是根據(jù)request_address算來的,具體如下圖部分所示。

dedae2e6-b5df-11ef-93f3-92fbcf53809c.jpg

最終包頭的格式為:

deedcdd4-b5df-11ef-93f3-92fbcf53809c.jpg

而包中去掉包頭后傳輸?shù)臄?shù)據(jù)為每8位遞增數(shù)據(jù)數(shù)據(jù),具體如下圖所示。

df0b0c46-b5df-11ef-93f3-92fbcf53809c.jpg

重點(diǎn):發(fā)送用戶自己的數(shù)據(jù)與包頭時(shí)設(shè)置,將go的值設(shè)置為0x01。

df27692c-b5df-11ef-93f3-92fbcf53809c.jpg

4.1.2 接收響應(yīng)部分的代碼功能詳解

接收響應(yīng)部分主要功能是在期望的得到回應(yīng)的包類型時(shí),檢查是否回應(yīng)的對應(yīng)包頭類型。

而判斷包頭類型是否正確主要是根據(jù)預(yù)判的ftype(expected_ftype)時(shí),檢查接收到的ttype是否為協(xié)議規(guī)定的類型。判斷的方式為下圖位置:

df300d52-b5df-11ef-93f3-92fbcf53809c.jpg

4.2 SRIO接收模塊詳解

SRIO接收模塊中主要有兩部分代碼,接收數(shù)據(jù)部分(treq),接收響應(yīng)數(shù)據(jù)部分(tresp)。接收部分端口如下圖所示:

df3c105c-b5df-11ef-93f3-92fbcf53809c.jpg

4.2.1 接收數(shù)據(jù)部分的代碼功能說明

接收部分主要是通過解析接收端口的信號,實(shí)時(shí)的解析如下圖的信息,以及first_beat(beat為1個(gè)時(shí)鐘的*_data),之后將每包數(shù)據(jù)去掉包頭后丟入“RAMB36SDP(local_data_store)”中,但是每一包丟入數(shù)據(jù)時(shí)的首地址是current_addr[10:3]。

df514134-b5df-11ef-93f3-92fbcf53809c.jpg

4.2.2 發(fā)送響應(yīng)部分的代碼功能說明

響應(yīng)部分的代碼分兩部分,第一部分是響應(yīng)的包頭信號部分,第二部分是響應(yīng)的數(shù)據(jù)部分。

包頭信號部分信息與響應(yīng)的包類型相關(guān),如下圖所示,詳細(xì)信息參考《pg007》的p76頁。

df5f05d0-b5df-11ef-93f3-92fbcf53809c.jpg

數(shù)據(jù)部分的信息主要是提取treq中輸入的信號。但提取的方式是根據(jù)starting_read_addr = {1'b0, response_data_out[29:22]}開始提取數(shù)據(jù)輸出,即是根據(jù)current_addr[10:3]的地址提取數(shù)據(jù)。也就是說這個(gè)提取數(shù)據(jù)的位置是根據(jù)輸入數(shù)據(jù)包中的地址中的一部分作為首地址來定位的數(shù)據(jù)開始地方。

當(dāng)然是否需要反饋數(shù)據(jù)部分得根據(jù)接收到的包頭類型而定,有些包只需要反饋包頭不需要數(shù)據(jù),有些包不需要進(jìn)行反饋,詳情參考手冊P73頁。

保證存入“RAMB36SDP(response_queue_inst)”的包頭判斷信息無誤的依據(jù)是RAMB36SB的寫使能WREN(generate_a_response),generate_a_response是在接收到的first_beat時(shí),且這個(gè)包頭是需要反饋數(shù)據(jù)的包頭時(shí)才會拉高使能。需要反饋的依據(jù)在《pg007》的Table 3-1,具體信息如下圖所示:

df6ddb1e-b5df-11ef-93f3-92fbcf53809c.jpg

5. 疑點(diǎn)

疑點(diǎn)1:

雖然理論上來說反饋的數(shù)據(jù)提取數(shù)據(jù)是根據(jù)包頭信息在同一個(gè)位置提取的,那么反饋的數(shù)據(jù)就和接收的對應(yīng)包數(shù)據(jù)相同。但是由于接收到的數(shù)據(jù)包頭的地址可能相同,至少current_addr[10:3]有很大幾率相同,那么就會存在數(shù)據(jù)覆蓋的現(xiàn)象,那么就會導(dǎo)致反饋的數(shù)據(jù)不是想要的數(shù)據(jù),即返回的數(shù)據(jù)與接收到的數(shù)據(jù)不同。

疑點(diǎn)2:

為何把“current_addr[23:16] == 8'h12”作為pull_from_store(從存儲地址開始拉高)?

答:這個(gè)只是對應(yīng)SRIO例程的發(fā)射數(shù)據(jù),發(fā)射數(shù)據(jù)自定義的“真實(shí)起始地址”,參考手冊P161,如下圖所示。在自己使用時(shí)可以屏蔽掉與這個(gè)相關(guān)的信號。

df7e87ca-b5df-11ef-93f3-92fbcf53809c.jpg

原文鏈接:

https://openatomworkshop.csdn.net/67459da63a01316874d8e7a6.html

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • sRIO
    +關(guān)注

    關(guān)注

    1

    文章

    33

    瀏覽量

    21549
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4947

    瀏覽量

    73291
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    848

    瀏覽量

    70549

原文標(biāo)題:SRIO簡介與Xilinx SRIO ip核例程詳解

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    RapidIO標(biāo)準(zhǔn)的串行物理層實(shí)現(xiàn)

    Serial RapidIO(SRIO) 特指 RapidIO 標(biāo)準(zhǔn)的串行物理層實(shí)現(xiàn)。
    的頭像 發(fā)表于 12-09 10:41 ?229次閱讀
    RapidIO標(biāo)準(zhǔn)的串行物理層實(shí)現(xiàn)

    DSP、FPGA之間SRIO通信的問題?

    目前在使用DSP和FPGA之間通過SRIO的SWRITE事務(wù)完成雙向數(shù)據(jù)通信,大多數(shù)情況下都正常,但是在我不停的給DSP進(jìn)行燒寫程序時(shí),會偶爾出錯(cuò),F(xiàn)PGA無法收到DSP下發(fā)的數(shù)據(jù)。偶爾故障情況下buf_lcl_phy_buf_stat_out始終是5\'b10000,且buf_lcl_response_only_
    發(fā)表于 11-15 16:22

    如何使用FPGA實(shí)現(xiàn)SRIO通信協(xié)議

    泛應(yīng)用。文章重點(diǎn)解釋了回環(huán)測試的基本概念,這種方法可驗(yàn)證FPGASRIO接口功能的正確性,并提供了系統(tǒng)級測試驗(yàn)證的相關(guān)知識。同時(shí),本例程還涵蓋了Verilog語法、FPGA架構(gòu)、
    的頭像 發(fā)表于 11-12 14:38 ?5348次閱讀
    如何使用FPGA實(shí)現(xiàn)<b class='flag-5'>SRIO</b>通信協(xié)議

    請問如何在e203安裝linux操作系統(tǒng)?

    本人用的板子是Xilinx的XC7A100TFGG484-2L,編譯軟件是vivado2017.4。目前比特流已經(jīng)成功生成,我已經(jīng)把其固化進(jìn)了板子。現(xiàn)在的我想在我固化后的板子里面裝一
    發(fā)表于 11-07 07:32

    生成Bitstream的DRC LUTLP-1錯(cuò)誤的解決辦法

    bitstream時(shí)出現(xiàn)DRC錯(cuò)誤,根據(jù)xilinx官方社區(qū)的幫助,解決了這問題。 在生成bitstream之前,進(jìn)行設(shè)置。 在bitstream設(shè)置界面的tcl.pre出添加一個(gè)tcl文件,文件包含
    發(fā)表于 10-30 07:42

    win10環(huán)境下使用vivado生成.bit與.mcs文件

    ,這里介紹一種可以直接在windows環(huán)境下使用vivado生成system.bit和system.mcs文件的方法。 1.在windows環(huán)境安裝vivado,準(zhǔn)備好e203_hb
    發(fā)表于 10-27 08:25

    語法糾錯(cuò)和testbench的自動(dòng)生成

    設(shè)置: 另外,自動(dòng)糾錯(cuò)實(shí)際上還是用了仿真軟件的工具,例如vivado、iverilog、modelsim等。下面介紹如何利用vivado的工具xvlog。 一般情況下,xvlog
    發(fā)表于 10-27 07:07

    VIVADO對NICE進(jìn)行波形仿真的小問題的解決

    https://www.rvmcu.com/community-topic-id-386.html 以上鏈接為如何生成.verilog,并在VIVADO中生成波形的例子。我們在實(shí)踐過程
    發(fā)表于 10-27 06:41

    Nucleistudio+Vivado協(xié)同仿真教程

    編譯完成后,我們會在工程目錄下發(fā)現(xiàn)生成了.verilog文件,此即為我們仿真需用到的文件,可以將改文件復(fù)制保存在tb目錄下 聯(lián)合仿真 在我們前面創(chuàng)建的Vivado工程添加仿真文件
    發(fā)表于 10-23 06:22

    vivado仿真時(shí)GSR信號的影響

    利用vivado進(jìn)行設(shè)計(jì)xilinx FPGA時(shí),寫完設(shè)計(jì)代碼和仿真代碼后,點(diǎn)擊run simulation(啟動(dòng)modelsim進(jìn)行仿真)。
    的頭像 發(fā)表于 08-30 14:22 ?1071次閱讀
    <b class='flag-5'>vivado</b>仿真時(shí)GSR信號的影響

    高速總線接口的類型介紹

    ,它的成員使用SRIO技術(shù)來實(shí)現(xiàn)高速和低延遲互聯(lián)。RapidIO組織負(fù)責(zé)制定和推廣RapidIO互聯(lián)標(biāo)準(zhǔn),支持RapidIO產(chǎn)品的開發(fā)和部署,因此二者相互關(guān)聯(lián),是不同概念。RapidIO協(xié)議分為邏輯層、傳輸層、物理層。FPGASRIO
    的頭像 發(fā)表于 08-06 14:50 ?1552次閱讀

    在ADC PAL,當(dāng)ADC讀數(shù)超過閾值時(shí)、是否有辦法生成中斷?

    中生成中斷,是否有其他方法可以根據(jù)閾值輸入自動(dòng)調(diào)用函數(shù)? 此外,我們可以在 MPC5775B 中使用 SDADC 嗎?如果是,SDADC 是否有任何解決方案來滿足上述要求? 我搜索了 SDADC 的示例代碼,但找不到任何
    發(fā)表于 04-02 08:30

    Vivado FIR IP核實(shí)現(xiàn)

    Xilinx的FIR IP核屬于收費(fèi)IP,但是不需要像 Quartus那樣通過修改license文件來破解。如果是個(gè)人學(xué)習(xí),現(xiàn)在網(wǎng)絡(luò)上流傳的license破解文件在破解Vivado的同時(shí)也破解
    的頭像 發(fā)表于 03-01 14:44 ?2624次閱讀
    <b class='flag-5'>Vivado</b> FIR IP核實(shí)現(xiàn)

    使用DDS生成三個(gè)信號并在Vivado實(shí)現(xiàn)低通濾波器

    本文使用 DDS 生成三個(gè)信號,并在 Vivado 實(shí)現(xiàn)低通濾波器。低通濾波器將濾除相關(guān)信號。
    的頭像 發(fā)表于 03-01 14:31 ?2520次閱讀
    使用DDS<b class='flag-5'>生成</b>三個(gè)信號并在<b class='flag-5'>Vivado</b><b class='flag-5'>中</b>實(shí)現(xiàn)低通濾波器

    【米爾-Xilinx XC7A100T FPGA開發(fā)板試用】 UART測試

    硬件: 一 米爾-Xilinx XC7A100T FPG 二 12V電源適配器 三 下載器 四 win10筆記本 軟件: 一 Vivado (指導(dǎo)手冊有詳細(xì)的安裝下載流程) 二 官方示例工程 這個(gè)例程
    發(fā)表于 01-12 10:10