如果同學(xué)們的學(xué)習(xí)問題我們帖子里面沒有的,請(qǐng)第一時(shí)間聯(lián)系我微信同步:易老師13112063618
明德?lián)P還做了抖音系列短視頻,感興趣可以關(guān)注明德?lián)P抖音號(hào):FPGA技巧分享(87481069842)內(nèi)容不斷更新!點(diǎn)贊+關(guān)注,學(xué)習(xí)不迷路!
【問題1】千兆網(wǎng)課程里的udp和百兆網(wǎng)通用的嗎?
答:本課程講述的是千兆網(wǎng),對(duì)于百兆網(wǎng)來說,UDP IP MAC和ARP協(xié)議都是相同的,不同的是MAC IP核、FPGA和PHY芯片的接口不同。本課程提供的是千兆網(wǎng)的工程,如果要使用百兆網(wǎng),需要根據(jù)上面的內(nèi)容來修改。
【問題2】千兆網(wǎng)課程有實(shí)現(xiàn)TCP協(xié)議嗎?
答:本千兆網(wǎng)課程實(shí)現(xiàn)的是UDP協(xié)議,沒有TCP協(xié)議。
【問題3】請(qǐng)問下,三速以太網(wǎng)IP核配置時(shí),32bit對(duì)齊選項(xiàng)的意義在哪里?
答:在接口為32bit時(shí),每個(gè)VLD有效時(shí)的數(shù)量是4個(gè)字節(jié)。由于MAC頭是14字節(jié),不是4的整數(shù)倍,在發(fā)送方向,在補(bǔ)上MAC頭后,必須調(diào)整數(shù)據(jù)(拿出2字節(jié)與MAC頭最后2字節(jié)湊成一個(gè)4字節(jié)的有效數(shù)據(jù)),這樣處理比較麻煩。 同時(shí)道理,接收方向,去掉14字節(jié)MAC頭后,會(huì)有一個(gè)VLD多出2字節(jié)的有效數(shù)據(jù),這樣調(diào)整也麻煩。為此,MAC IP核里有一個(gè)功能,就是32位對(duì)齊功能。該功能決定,在SOP位置時(shí),最高2字節(jié)是否為無效數(shù)據(jù)。 當(dāng)是無效數(shù)據(jù)模式時(shí),發(fā)送方向插入2字節(jié)無效數(shù)據(jù)+14字節(jié)MAC頭;在接收方向,刪除前16字節(jié)MAC頭,剩下就是效數(shù)據(jù)。這樣處理就方便很多了。
【問題4】 只要勾選了32bit對(duì)齊功能,IP核自動(dòng)添加2字節(jié)的無效數(shù)據(jù)?
答:勾選對(duì)齊后,接收方向?qū)h除無效數(shù)據(jù),直接輸出數(shù)據(jù),即SOP位置的高2字節(jié)也是有效的,一直到EOP位置。發(fā)送方向,認(rèn)為從SOP到EOP的位置都是有效的。不勾選的話,接收方向,IP核輸出、SOP位置的高2字節(jié)是無效數(shù)據(jù)。發(fā)送方向,進(jìn)到IP核的數(shù)據(jù)里,將SOP位置的高2字節(jié)視為無效數(shù)據(jù)。
【問題5】如下圖所示,當(dāng)使用了PAD_EN功能時(shí),接收方向,會(huì)將PAD去掉,但實(shí)際上沒有去除,是怎么回事?
答:請(qǐng)看下面描述:第一段,當(dāng)值小于600,該域反映的是長(zhǎng)度,才會(huì)繼續(xù)檢查PAYLOAD長(zhǎng)度,進(jìn)而才會(huì)有REMOVAL。當(dāng)值大于600時(shí),該域反映的是類型而已,則不會(huì)REMOVAL。
【問題6】課程里會(huì)包含TCP協(xié)議嗎?
答:TCP協(xié)議使用邏輯實(shí)現(xiàn)非常復(fù)雜,所以本課程不會(huì)包含此部分內(nèi)容。
【問題7】RGMII支持10M/100M/1000M三種模式嗎?
答:RGMII是"吉比特介質(zhì)獨(dú)立接口"的含義,即1000M的傳輸接口。其他幾種接口包括GMII、MII等。注意一下,10M/100M/1000M三種模式,指的是該“芯片”支持這三種接口,不是說RGMII支持。
當(dāng)芯片采用了RGMII或GMII時(shí),就傳輸1000M;當(dāng)采用了MII 100M時(shí),就是傳輸100M。注意的是,RGMII和MII的部分管腳是可以復(fù)用的。
【問題8】千兆網(wǎng)配置寄存器的定義代碼中,下面兩個(gè)IP核數(shù)據(jù)手冊(cè)中沒有說明,是什么作用的?
答:第一行語(yǔ)句的作用是“等待10000個(gè)時(shí)鐘周期”。目的是當(dāng)完成前面的配置后,等待10000個(gè)時(shí)鐘后,再去配置下面的寄存器。這是因?yàn)橛袝r(shí)候,配置完上面寄存器后,有可能要等一段時(shí)間才起作用,所以要等一等。這個(gè)“等待”功能是FPGA里面代碼實(shí)現(xiàn)的。第二句作用是測(cè)試使用的,可以刪除,在調(diào)試時(shí)看看接口是否正確。
【問題9】本項(xiàng)目有沒有配置外部的PHY芯片?
答:本項(xiàng)目是沒有配置的,因?yàn)槟J(rèn)PHY芯片是不用配置就能正確使用的。
【問題10】問:百兆網(wǎng)和千兆網(wǎng)的區(qū)別是什么?
答:
1. IP核是一樣的
2. 千兆網(wǎng)使用的是GMII接口,百兆網(wǎng)則是MII接口。gmii數(shù)據(jù)線是8位;MII接口使用是4位數(shù)據(jù)線,也就是TXD低4位和RXD低4位。
3. 時(shí)鐘頻率不同,千兆網(wǎng)是125M,百兆網(wǎng)是25M時(shí)鐘。
4. 百兆網(wǎng)的TX時(shí)鐘來自于PHY芯片,芯片管腳使用的是tx_clk,而不是gtx_clk。
5. MII接口的4位數(shù)據(jù)線,是先發(fā)1個(gè)字節(jié)的低4位,再發(fā)高4位。
【問題11】問:老師,咱們千兆網(wǎng)項(xiàng)目中,為啥用sharkwire抓包的時(shí)候最大傳輸速率到不了千兆呢?
答:因?yàn)榘膫鬏數(shù)臅r(shí)候,會(huì)有消耗的,例如包與包之間有幀間隙,并且每個(gè)包會(huì)有前導(dǎo)碼和FCS部分。因此達(dá)不到理論的千兆。
【問題12】請(qǐng)問一下在千兆網(wǎng)工程里,初始化mac IP核時(shí),signaltapii有些reg_cnt剛開始時(shí),add_wdata會(huì)出現(xiàn)一小段莫名其妙的數(shù)據(jù),是怎么回事 ?
答:請(qǐng)注意這個(gè)signaltap采樣的時(shí)鐘一定要跟代碼模塊的時(shí)鐘一致。
SignalTap使用教程:http://m.cqqtmy.cn/jishuwenz/2019/1210/107.html
【問題13】在千兆網(wǎng)的rx_filter模塊中,讀數(shù)據(jù)的時(shí)候?yàn)槭裁从胊dd_cnt=m_empty==0,這個(gè)信息FIFO的不空作為讀條件?
答:信息FIFO非空,表示數(shù)據(jù)FIFO中存有一個(gè)完整的包文,因?yàn)樾枰袛喟氖欠裾_,所以需要數(shù)據(jù)FIFO中保存一個(gè)完整包文之后再讀出。
由于本模塊需要將32位的數(shù)據(jù)轉(zhuǎn)成16位的,計(jì)數(shù)器cnt數(shù)兩次,表示數(shù)據(jù)FIFO需要兩個(gè)時(shí)鐘讀出一次,當(dāng)遇到最后eop的時(shí)候,由于可能存在無效字節(jié),所以當(dāng)無效字節(jié)為2個(gè)或者3個(gè)的時(shí)候,計(jì)數(shù)器只需要數(shù)一次就夠了。
【問題14】在千兆網(wǎng)的rx_filter模塊中,信息FIFO深度為什么設(shè)置為32,設(shè)置為1就可以了吧?
答:這里設(shè)置為32只是順手而為,而且占用的資源也不是很多,所以就沒有進(jìn)行修改,深度改為1也是可以的。
【問題15】在udp發(fā)送的過程中,假設(shè)源端口為0x1234,目的端口為0x5678,那么發(fā)送的是12345678還是56781234?
答:發(fā)送的時(shí)候是按照12345678來發(fā)送的。
【問題16】為什么udp協(xié)議在發(fā)送和接收的時(shí)候,源端口和目的端口順序會(huì)反?
答:包文的協(xié)議時(shí)固定的,只會(huì)按照源地址加目的地址的格式發(fā)送。
1.FPGA發(fā)送的時(shí)候,F(xiàn)PGA產(chǎn)生包文,端源端口是1234,目的端口是5678。然后發(fā)送格式是源+目,因此發(fā)送的是1234_5678
2.FPGA接收的時(shí)候,PC產(chǎn)生包文,源端口是5678,目的是1234,然后發(fā)送的是源+目,因此是5678_1234。
【問題17】請(qǐng)問一下,我編譯千兆以太網(wǎng)的時(shí)候,為什么把這個(gè)clogb2文件添加進(jìn)去就會(huì)報(bào)錯(cuò),說是sv文件?還有這個(gè)文件有什么作用?謝謝
答:clogb2不是一個(gè)完整的module文件,它是被用include的方法加入代碼中的。它不需要加到工程上,所以可以把它去掉。
【問題18】請(qǐng)問下,在做練習(xí)工程的時(shí)候,需要自己設(shè)計(jì)MAC首部發(fā)送電路,MAC首部14字節(jié),但數(shù)據(jù)位是4字節(jié)的,我需要定義 發(fā)送首部的計(jì)數(shù)器,這里4是不能被14整除的,我應(yīng)該怎么處理?
答:
1、可以在設(shè)計(jì)代碼的時(shí),把產(chǎn)生的mac頭、IP頭、UDP頭拼接起來的時(shí)候,在最高位補(bǔ)2字節(jié)的無效數(shù)據(jù)零。
2、或者在mac_ip核進(jìn)行相關(guān)的設(shè)置,具體可以查看相關(guān)數(shù)據(jù)手冊(cè)附:數(shù)據(jù)手冊(cè)在打開IP核后如圖所示位置查看
【問題19】千兆網(wǎng)轉(zhuǎn)百兆網(wǎng)的時(shí)候,需要給phy芯片一個(gè)參考時(shí)鐘,是怎么給的?
答:開發(fā)板上有一個(gè)12M的時(shí)鐘芯片,是給phy芯片的。外部晶振的事,跟FPGA無關(guān)
【問題20】我的采樣時(shí)鐘就是模塊的工作時(shí)鐘(always塊里的);現(xiàn)在從MAC_IP核輸出的數(shù)據(jù)不正確,根據(jù)常見問題PDF里問題1和6的解答,有兩種情況,如果時(shí)鐘沒問題那就有可能是IP核的輸入信號(hào)有問題。我對(duì)應(yīng)的代碼和signaltap采集到的數(shù)據(jù)如圖:
請(qǐng)問這種情況下,輸入的數(shù)據(jù)算是正確的嗎?
答:結(jié)果是正確的。原因同上【問題9】
【問題21】再設(shè)置好電腦的IP地址之后,把界面關(guān)掉,然后再打開就沒有了,需要重新設(shè)置,怎么解決?
答:
1、點(diǎn)擊左下角的WIN圖標(biāo),輸入CMD然后回車,打開DOS模式窗口。
2、在DOS命令行提示符下直接輸入:“netsh winsock
3、reset”,然后回車,會(huì)提示需要重啟,不要管它。
4、在DOS命令行提示符下直接輸入:“netsh int ip reset
5、reset.log”,然后回車,提示重新啟動(dòng)計(jì)算機(jī)完成此操作。
6、關(guān)閉DOS窗口,重新啟動(dòng)計(jì)算機(jī),問題解決。
【問題22】千兆網(wǎng)我們的和用mdio接口的有什么區(qū)別? 我們的教程是沒有用到這個(gè)接口的
答:MDIO接口是用來配置外部的PHY芯片的,不是用來傳輸數(shù)據(jù)的,也就不是做網(wǎng)絡(luò)協(xié)議使用的。 當(dāng)您需要配置外部的PHY芯片時(shí),可以使用MDIO接口,否則可以不用。
【問題23】請(qǐng)問千兆網(wǎng)工程里,輸入給MAC_IP核的ff_rx_rdy信號(hào)為什么直接置1?跟速率和帶寬有關(guān)嗎?
答:rdy表示下游模塊準(zhǔn)備好指示信號(hào),如果準(zhǔn)備好了就為1,沒準(zhǔn)備好就為0。 在本案例中,下游模塊是rx_mac_analy模塊,該模塊支持rtl8122_a_mac_ip模塊任意速度的數(shù)據(jù),即無論怎么來,下游模塊都能接收并正確處理,所以在此處置為1(時(shí)刻準(zhǔn)備好)就可以了
【問題24】請(qǐng)問,一個(gè)基礎(chǔ)問題,千兆網(wǎng)工程里多個(gè)模塊都調(diào)用了FIFO,在不同模塊里調(diào)用的fifo的例化名(比如:u_dfifo)能否重復(fù)?
答:可以試試操作,在不同模塊是可以重復(fù)的。
【問題25】這個(gè)是因?yàn)镮P核沒有破解嗎?
答:這個(gè)錯(cuò)誤就是高版本生成的工程在低版本中打開出現(xiàn)的編譯錯(cuò)誤,用高版本的quartus打開即可(如18版本的)
【問題26】千兆網(wǎng)課程使用的是哪個(gè)PHY芯片?
答:本課程使用的是MP801芯片,使用提RTL8211芯片。但課程中,幾乎沒有涉及到PHY芯片的內(nèi)容,PHY芯片使用的是默認(rèn)配置。對(duì)于其他PHY芯片,也是通用的。
【問題27】千兆網(wǎng)課程是ALTERA,是否與XILINX的通用?
答:本課程主要涉及到各個(gè)協(xié)議的RTL實(shí)現(xiàn),這部分代碼是通用的。但有一個(gè)MAC IP核,本課程的工程是使用ALTERA的,XILINX的亦有相同的IP,需要您移植。總的來說,MAC IP占整個(gè)課程的比重不大,大概是5%的內(nèi)容。
【問題28】您的UDP教程里面包不包含ARP和CRC328bit這兩個(gè)地方的講解?
答:有arp的講解,但crc就不包括。
【問題29】千兆網(wǎng)課程的源碼中有相應(yīng)的tb仿真代碼嘛?
答:沒有,但如果要驗(yàn)證功能正確性可以上板驗(yàn)證和仿真文件
【問題30】請(qǐng)問下載程序后,電腦檢測(cè)不到本地以太網(wǎng),把程序刪除又可以檢測(cè)?
答:可能程序里有復(fù)位管腳,把這些PHY芯片復(fù)位了。
【問題31】以太網(wǎng)通信中,抓包工具wireshark能抓到 但網(wǎng)絡(luò)調(diào)試助手收不到 是怎么回事?
答:可能性有如下幾種,請(qǐng)逐一排除。
1. IP地址不正確,請(qǐng)檢查IP地址,尤其注意目的IP和源IP的區(qū)別
2. 端口號(hào)不正確,請(qǐng)檢查端口號(hào),尤其注意目的端口和源端口的區(qū)分。
3. 目的MAC地址不正確,可以嘗試發(fā)送廣播包文(非ARP包文)測(cè)試。
4. 包文過短,小于60字節(jié)。
【問題32】工程仿真的前導(dǎo)碼后為什么有兩個(gè)字節(jié)的0呢? 按理說應(yīng)該緊跟目的MAC地址 圖中e8 6a就是目的MAC開頭.
答:MAC IP核的有一個(gè)32bit對(duì)齊的功能,關(guān)于該功能意義,請(qǐng)看【問題7.3】。
如果出現(xiàn)上圖中問題,有可能是MAC IP核中的32bit對(duì)齊功能設(shè)置有誤。
【問題33】千兆網(wǎng)項(xiàng)目中,是否包括TCP協(xié)議實(shí)現(xiàn)?
答:千兆網(wǎng)項(xiàng)目是使用的UDP協(xié)議,而非TCP協(xié)議。目前來說,TCP協(xié)議由于有握手機(jī)制、重發(fā)機(jī)制等功能,在邏輯上實(shí)現(xiàn)相當(dāng)困難,暫未看到商用的案例。
【問題34】高速采集后的數(shù)據(jù) 是存到內(nèi)存或者flash嗎 ?
答:激光項(xiàng)目:采集到數(shù)據(jù)后,內(nèi)部進(jìn)行計(jì)算和處理,并將結(jié)果通過千兆網(wǎng)上傳到上位機(jī)。大數(shù)據(jù)采集項(xiàng)目:從光纖采集到數(shù)據(jù)后,保存到DDR3中,然后讀出送到PCIE上位機(jī)。
【問題35】請(qǐng)問插上千兆網(wǎng)模塊后,PING不通?
答:千兆網(wǎng)模塊是一個(gè)基于PHY層的模塊,不是完整的網(wǎng)卡,實(shí)現(xiàn)的是PHY層的協(xié)議,沒有實(shí)現(xiàn)MAC層、TCP/IP層協(xié)議。因此,不可能PING通(因?yàn)镻ING功能是在TCP/IP層實(shí)現(xiàn)的)。要實(shí)現(xiàn)PING功能,需要編寫FPGA程序來實(shí)現(xiàn)。
【問題36】插上設(shè)備后,電腦識(shí)別成百兆網(wǎng)問題?
答:上電后,電腦與千兆網(wǎng)模塊之間會(huì)開展自協(xié)商對(duì)話,根據(jù)雙方的環(huán)境確定通信速率。如果希望工作在1G,而實(shí)質(zhì)協(xié)商成100M,則依次按如下檢查。
1. 檢查電腦網(wǎng)卡是否支持1G,具體請(qǐng)看網(wǎng)卡設(shè)置
2. 檢查網(wǎng)線是否支持1G,有類型的要求。
3. 換臺(tái)電腦試試
4. 以上都測(cè)試過后還不行,請(qǐng)找指導(dǎo)老師確認(rèn)。
【問題37】請(qǐng)問千兆網(wǎng)的rx_ip_analy.v文件,getlen是獲取總長(zhǎng)度,第二個(gè)圖片get_len_4byte是完全不懂,請(qǐng)老師給個(gè)提示?還有+5又是什么意思呢
答:IP長(zhǎng)度是20字節(jié),get_len_byte是實(shí)質(zhì)獲取到的數(shù)據(jù)長(zhǎng)度(不包括IP頭),單位為字節(jié);get_len_4byte是實(shí)質(zhì)獲取到的長(zhǎng)度(包括IP頭),單位為32bite。
【問題38】你好,這個(gè)rx_ip_analy部分的,我不太清楚到底是實(shí)際的采集長(zhǎng)度小于等于輸入獲取的長(zhǎng)度還是輸入獲取的長(zhǎng)度小于等于實(shí)際采集的長(zhǎng)度。感覺上面說應(yīng)該cnt <get_len_4byte,下面又說act_len_byte < get_len是錯(cuò)的
答:get_len:從長(zhǎng)度字段獲取到的長(zhǎng)度;get_len_4byte:從長(zhǎng)度字段獲取到的長(zhǎng)度,單位為4字節(jié);act_len_byte:從數(shù)據(jù)字段中獲取到的長(zhǎng)度;所以,從數(shù)據(jù)中獲取到的長(zhǎng)度,小于“字段指示的長(zhǎng)度”,就是錯(cuò)的。
【問題39】請(qǐng)教大家一個(gè)問題,以太網(wǎng)調(diào)試的時(shí)候,主機(jī)網(wǎng)卡不是realtek PCIE FE Family,主機(jī)接收不到fpga發(fā)送的報(bào)文怎么辦?
答:一般來說,只要發(fā)送端發(fā)送的包文符合網(wǎng)口傳輸協(xié)議,無論什么網(wǎng)卡都可以都到包文??梢詸z查一下
①fpga發(fā)送的包文協(xié)議是否正確;
②檢查網(wǎng)口識(shí)別的速率是否與工程速率匹配;
③檢查網(wǎng)卡是否有問題
【問題40】千兆網(wǎng)工程使用sgmii接口,請(qǐng)問在vivado中用哪個(gè)ip核呀?
答:GMII和RGMII接口使用的VIVADO?IP核為:tri_mode_ethernet_mac。而SGMII接口使用的IP核為:1G/2.5G Ethernet PCS/PMA OR SGMII。注意:SGMII模式,使用上面的這個(gè)IP核。注意,SGMII協(xié)議會(huì)與本課程中的MAC協(xié)議不同,要特別留意。
【問題41】問:千兆網(wǎng)課程的MAC是使用的官方IP核,還是自己RTL寫的?
答:本課程的UDP、IP、ARP等協(xié)議,是MDY的RTL代碼寫的。而MAC部分,使用的是官方IP核。 在平時(shí)使用中,MDY也自己寫了簡(jiǎn)化版的MAC層部分代碼,主要實(shí)現(xiàn)的是添加前導(dǎo)碼和校驗(yàn)和。 這一部分沒有文字說明,也沒有教程,如果有疑問,請(qǐng)自行消化。下載鏈接如下:http://fpgabbs.com/forum.php?mod=viewthread&tid=4481&page=1&extra=#pid5534
【問題42】問題:以太網(wǎng)約束中,建立時(shí)間的時(shí)序報(bào)告如圖一,請(qǐng)問下為什么?上面是4ns,下面又是加8ns呢?保持時(shí)間分析如圖二,為什么這兩個(gè)都加4?
圖一
答:
1. 這項(xiàng)目是RGMII模式,時(shí)鐘為125M,上升沿和下降沿均采樣,相當(dāng)于時(shí)鐘周期是4ns。
2. 建議時(shí)間和保持時(shí)間都是從4ns開始計(jì)算,可能是約束時(shí)鐘時(shí)指定的,指定從4,可以看時(shí)鐘約束。(有些是從0開始)
3. 建立時(shí)間分析時(shí),目的時(shí)鐘路徑要加上時(shí)鐘周期(4ns),保持時(shí)間分析時(shí),目的時(shí)鐘路徑不需要加上時(shí)鐘周期。 原因請(qǐng)看時(shí)序約束問題匯總貼8.16 (http://m.cqqtmy.cn/wentijieda/20210410/1294.html)。
【問題43】請(qǐng)問一下,IP校驗(yàn)和,校驗(yàn)和字段不加,這部分應(yīng)該是5吧,16*5。
解答: 如圖所示,ip_head[16*5-1 -:16]對(duì)應(yīng)的是IP校驗(yàn)和的值,但此時(shí)還未計(jì)算出IP校驗(yàn)和的值,所以ip_sum=0,因此可以省略對(duì)ip_head[16*5-1 -:16]的求和計(jì)算。
【問題44】想請(qǐng)問一下,以太網(wǎng)tx_pack模塊的測(cè)試文件,這條語(yǔ)句是什么作用呀?
解答:用于計(jì)算長(zhǎng)度的有多少個(gè)2字節(jié)長(zhǎng)度的數(shù)據(jù)。length表示長(zhǎng)度有多少字節(jié),而len_2b表示長(zhǎng)度有多少個(gè)2字節(jié)。信號(hào)length不取最低位,相當(dāng)于數(shù)據(jù)除以2。
【問題45】問:當(dāng)把板子和電腦的網(wǎng)線相連后,電腦那里顯示“未識(shí)別網(wǎng)絡(luò)”,如何解決“未識(shí)別網(wǎng)絡(luò)”問題?
答:“未識(shí)別網(wǎng)絡(luò)”這是正?,F(xiàn)象。當(dāng)把FPGA板子和電腦相連后,無論FPGA有沒有程序,此時(shí)雙方通信均是“MAC層”的協(xié)議。該層協(xié)議只識(shí)別出速率,即1G還是100M速率。而“未識(shí)別網(wǎng)絡(luò)”是指TCP/IP層的協(xié)議,需要TCP/IP層的完整協(xié)議支持,這是FPGA板子沒有的,也難以實(shí)現(xiàn)的功能,所以肯定是處于“未識(shí)別網(wǎng)絡(luò)”狀態(tài)。在真正應(yīng)用中,F(xiàn)PGA板子和電腦只是點(diǎn)對(duì)點(diǎn)通信,不需要組網(wǎng)。
【問題46】問:如果我想將GMII口換成RGMII口的話,是只需要將位寬以及MAC重新配置一下就可以了嗎?由于RGMII口是雙邊沿采樣,所以不確定需不需要加額外的操作。我看網(wǎng)上用vivado的時(shí)候還需要用原語(yǔ)將phy給的rxclk處理一下才行。
答:將GMII口換成RGMII口的話,除了需要將位寬以及MAC重新配置一下,還需要更換一下硬件電路部分電阻。
【問題47】問:就是這個(gè)選項(xiàng)卡里面,勾選local loopback的時(shí)候,這個(gè)回環(huán)是MAC側(cè)回環(huán)還是phy側(cè)的回環(huán)呀
答:這個(gè)回環(huán)是MAC側(cè)回環(huán)。
【問題48】問:千兆網(wǎng)工程里有一個(gè)用戶時(shí)鐘:100M。這個(gè)100M時(shí)鐘是否可以用125M代替。
答:用戶時(shí)鐘只要大于75M即可。在提供的參考工程文檔里,有這個(gè)說明,可以看文檔。
【問題49】問:為什么是干什么用的?是不是IP頭?
答:偽首部?jī)H是參與校驗(yàn)和計(jì)算而使用的,不會(huì)放到包文中進(jìn)行傳輸。
【問題50】問:如下圖,UDP包文協(xié)議中,各部分的位置在哪?
答:按照一個(gè)包文的先后順序,其包文字段分別是: 前導(dǎo)碼+MAC頭+IP頭+UDP頭(不包括偽首部)+UDP數(shù)據(jù)+校驗(yàn)碼。
【問題51】問:接收方向做CRC校驗(yàn),是如何確認(rèn)結(jié)果的正確性的?
答:CRC接收校驗(yàn)有兩種方式。 第一種,接收過來的數(shù)據(jù)做CRC校驗(yàn),結(jié)果與接收過來的CRC校驗(yàn)值比較,相同則接受正確,第二種,數(shù)據(jù)和接受過來的CRC結(jié)果一起做CRC校驗(yàn),結(jié)果應(yīng)該為“固定數(shù)”。注意,這里是固定一個(gè)數(shù),不一定是0,因?yàn)镃RC算法里,還存在輸出結(jié)果反轉(zhuǎn)和異或等操作,會(huì)導(dǎo)致結(jié)果不一定為0。
【問題52】問:接收方向做CRC校驗(yàn),將數(shù)據(jù)和CRC位一起計(jì)算,結(jié)果一定是0嗎?
答:數(shù)據(jù)和接受過來的CRC結(jié)果一起做CRC校驗(yàn),結(jié)果應(yīng)該為“固定數(shù)”。注意,這里是固定一個(gè)數(shù),不一定是0,因?yàn)镃RC算法里,還存在輸出結(jié)果反轉(zhuǎn)和異或等操作,會(huì)導(dǎo)致結(jié)果不一定為0。
【問題53】問:在千兆網(wǎng)工程中,很多模塊都有使用到了rdy信號(hào),該信號(hào)的產(chǎn)生有些是跟FIFO的存儲(chǔ)數(shù)據(jù)個(gè)數(shù)關(guān)聯(lián)。如FIFO深度為4096,當(dāng)存儲(chǔ)數(shù)據(jù)大于4086時(shí),rdy為0;小于4086時(shí),rdy為1。為什么這樣設(shè)計(jì)?
答:rdy是本模塊準(zhǔn)備好信號(hào),為1時(shí)表示可以接收數(shù)據(jù),并且保證能夠正確處理。為0時(shí),要求上游模塊不能發(fā)送。 當(dāng)FIFO滿了的話,進(jìn)來的數(shù)據(jù)無法保存,就會(huì)丟失。所以滿了當(dāng)然rdy為0。為了讓上游模塊有一定的緩沖時(shí)間,將提示的水線設(shè)置小一些,例如4096的,就設(shè)為4086,這樣上游模塊可以晚幾個(gè)時(shí)鐘響應(yīng)也是可以的。 至于是4086,還是4090,根據(jù)項(xiàng)目情況自己設(shè)置。
【問題54】問:千兆以太網(wǎng)的macIP核部分的完整視頻有沒有?我看這個(gè)IP核說是也需要配置,還有ctc校驗(yàn),這些都是自動(dòng)完成的嗎?
答:沒有,這部分不是直接使用就可以了,我們工程里有一個(gè)配置表代碼 直接可以用的,ctc是自動(dòng)完成的 不需要參與
【問題55】問:請(qǐng)問老師這部分講解有嗎,找不到?

答:沒有講解,直接使用
【問題56】問:麻煩問下千兆以太網(wǎng)接收mac地址是0是怎么回事呢?

答:廣播包應(yīng)該是這么顯示的
【問題57】問:這個(gè)代碼里的注釋要怎么打開才看得到呢?
答:注釋變成亂碼:http://fpgabbs.com/forum.php?mod=viewthread&tid=813&highlight=%C2%D2%C2%EB
【問題58】千兆網(wǎng)課程提供工程源代碼嗎? 在課程網(wǎng)盤沒有找到,是哪個(gè)文件?
答:
溫馨提示:明德?lián)P2023推出了全新課程——邏輯設(shè)計(jì)基本功修煉課,降低學(xué)習(xí)FPGA門檻的同時(shí),增加了學(xué)習(xí)的趣味性,并組織了考試贏積分活動(dòng)
http://m.cqqtmy.cn/ffkc/415.html
(點(diǎn)擊→了解課程詳情?)感興趣請(qǐng)聯(lián)系易老師:13112063618(微信同步)
明德?lián)P除了培訓(xùn)學(xué)習(xí)還有項(xiàng)目承接業(yè)務(wù),擅長(zhǎng)的項(xiàng)目主要包括的方向有以下幾個(gè)方面:
1. MIPI視頻拼接
2. SLVS-EC轉(zhuǎn)MIPI接口(IMX472 IMX492)
3. PCIE采集系統(tǒng)
4. 圖像項(xiàng)目
5. 高速多通道ADDA系統(tǒng)
6. 基于FPGA板卡研發(fā)
7. 多通道高靈敏電荷放大器
8. 射頻前端
需要了解相關(guān)信息可以聯(lián)系:易老師13112063618(微信同號(hào))