女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

基于有限狀態(tài)機(jī)[8]的DSR路由表項(xiàng)設(shè)計(jì)實(shí)現(xiàn)方法

電子設(shè)計(jì) ? 來(lái)源:電子技術(shù)應(yīng)用 ? 作者:電子技術(shù)應(yīng)用 ? 2020-12-22 16:27 ? 次閱讀

來(lái)源:2018年電子技術(shù)應(yīng)用第12期

摘要: 近年來(lái),Ad Hoc網(wǎng)絡(luò)在無(wú)線(xiàn)通信領(lǐng)域發(fā)展迅猛。它是一種不依賴(lài)預(yù)設(shè)通信設(shè)施的新型組網(wǎng)技術(shù),具有很高的靈活性與獨(dú)立性,適用于許多網(wǎng)絡(luò)設(shè)備臨時(shí)架設(shè)困難的場(chǎng)景。DSR協(xié)議是Ad Hoc網(wǎng)絡(luò)的一種按需路由控制協(xié)議,也是Ad Hoc網(wǎng)絡(luò)中最有發(fā)展?jié)摿Φ穆酚蓞f(xié)議。DSR協(xié)議的核心是用于各節(jié)點(diǎn)之間相互通信的路由表項(xiàng)管理。設(shè)計(jì)與實(shí)現(xiàn)了一種基于有限狀態(tài)機(jī)(FSM)支持DSR路由表項(xiàng)管理的FPGA方法。

0 引言

Ad Hoc[1]網(wǎng)絡(luò)具有無(wú)中心控制節(jié)點(diǎn)、路由多跳、拓?fù)鋭?dòng)態(tài)等特點(diǎn),可以用于不能預(yù)設(shè)網(wǎng)絡(luò)設(shè)施的場(chǎng)合和需要快速自動(dòng)組網(wǎng)的場(chǎng)合,例如:戰(zhàn)場(chǎng)、無(wú)人煙山區(qū)、救災(zāi)現(xiàn)場(chǎng)等[2]。因此Ad Hoc網(wǎng)絡(luò)在當(dāng)今社會(huì)具有非常廣泛的應(yīng)用場(chǎng)景。

動(dòng)態(tài)源路由協(xié)議(Dynamic Source Routing)[3]是一種按需路由協(xié)議,是十分適用于Ad Hoc網(wǎng)絡(luò)的路由協(xié)議。在DSR協(xié)議中,路由表的表項(xiàng)都是按需建立的。路由過(guò)期或鏈路斷開(kāi),表項(xiàng)就失去作用了。為減少路由不斷建立而產(chǎn)生的網(wǎng)絡(luò)開(kāi)銷(xiāo),按需建立的路由都由源節(jié)點(diǎn)存儲(chǔ),用于與目的節(jié)點(diǎn)通信[4]。因此DSR協(xié)議的核心是管理各節(jié)點(diǎn)之間通信的路由表項(xiàng)。

目前,國(guó)內(nèi)外針對(duì)Ad Hoc網(wǎng)絡(luò)的研究大多是基于軟件的,使用的軟件平臺(tái)有NS2、GloMoSim、OPNET等。因此,DSR協(xié)議的核心功能——路由表項(xiàng)管理,也是基于軟件完成的。目前為止,還未有基于FPGA實(shí)現(xiàn)DSR路由表項(xiàng)管理的先例。

使用硬件實(shí)現(xiàn) DSR協(xié)議功能將減少功耗和延遲時(shí)間,延長(zhǎng)移動(dòng)設(shè)備的電池使用時(shí)間[5]。Ad Hoc網(wǎng)絡(luò)中,通過(guò)硬件與嵌入式芯片聯(lián)系在一起,使得操作速度的增加與功耗降低,處理時(shí)間還可以用于其他操作[6]。此外,使用硬件實(shí)現(xiàn)DSR協(xié)議可以更快地建立呼叫和更改動(dòng)態(tài)拓?fù)鋄7]。因此,使用FPGA實(shí)現(xiàn)DSR路由表項(xiàng)管理具有很好的實(shí)際用途。

本文為在FPGA中支持DSR協(xié)議的路由表項(xiàng)管理功能,設(shè)計(jì)一種基于有限狀態(tài)機(jī)[8]的實(shí)現(xiàn)方法。本文的設(shè)計(jì)中,狀態(tài)機(jī)包含一個(gè)初始狀態(tài)和3個(gè)功能狀態(tài)。有限狀態(tài)機(jī)的3個(gè)功能狀態(tài)一起聯(lián)合實(shí)現(xiàn)路由存儲(chǔ)、路由查找、路由刪除的功能。有限狀態(tài)機(jī)使得硬件代碼符合時(shí)序電路的風(fēng)格。此外,綜合后的代碼在電路物理實(shí)現(xiàn)時(shí)使得時(shí)延特性與功耗更加優(yōu)化[9]。

1 DSR路由表項(xiàng)管理的實(shí)現(xiàn)

1.1 總體方案

總體方案如圖1所示,設(shè)計(jì)分為兩個(gè)部分:路由管理有限狀態(tài)機(jī)模塊以及路由管理模塊。有限狀態(tài)機(jī)根據(jù)需求跳轉(zhuǎn)到不同的功能狀態(tài),生成不同的操作使能,用以驅(qū)動(dòng)路由管理模塊對(duì)路由表項(xiàng)進(jìn)行添加、查找、刪除。路由管理模塊完成對(duì)路由表項(xiàng)的操作后,有限狀態(tài)機(jī)從現(xiàn)有狀態(tài)跳轉(zhuǎn)回初態(tài)。

1.2 路由管理有限狀態(tài)機(jī)

路由管理有限狀態(tài)機(jī)的設(shè)計(jì)是基于DSR協(xié)議,有限狀態(tài)機(jī)的狀態(tài)跳轉(zhuǎn)如圖2所示。若需要查找一條路由時(shí),狀態(tài)機(jī)從IDLE狀態(tài)跳轉(zhuǎn)到路由查找狀態(tài)并生成路由查找使能,當(dāng)狀態(tài)機(jī)收到查找操作結(jié)束信號(hào)時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到IDLE狀態(tài);若需要?jiǎng)h除路由時(shí),狀態(tài)機(jī)從IDLE狀態(tài)跳轉(zhuǎn)到路由刪除狀態(tài)并生成路由刪除使能,當(dāng)狀態(tài)機(jī)收到刪除操作結(jié)束信號(hào)時(shí),狀態(tài)機(jī)跳轉(zhuǎn)到IDLE狀態(tài);若需要存儲(chǔ)一條路由時(shí),狀態(tài)機(jī)從IDLE狀態(tài)跳轉(zhuǎn)到路由緩存狀態(tài)并生成路由存儲(chǔ)使能給路由管理模塊,當(dāng)狀態(tài)機(jī)收到路由存儲(chǔ)操作結(jié)束信號(hào)時(shí),狀態(tài)機(jī)跳轉(zhuǎn)回IDLE狀態(tài)。

o4YBAF9uGXCARuZCAACLqxbTmxM551.png

1.3 路由管理模塊

路由管理模塊具體細(xì)化為4個(gè)模塊:生存周期模塊、路由寫(xiě)模塊、路由讀模塊、路由刪除模塊。路由管理模塊對(duì)路由表項(xiàng)的管理是通過(guò)對(duì)路由BD(Buffer Description)以及它的地址進(jìn)行操作完成的。BD包含路由的某些信息,例如:該路由所導(dǎo)向目的節(jié)點(diǎn)IP地址、路由長(zhǎng)度、路由表項(xiàng)存儲(chǔ)單元的起始地址。根據(jù)一個(gè)BD就可以讀取一條完整路由。

(1)路由寫(xiě)模塊存儲(chǔ)路由與生成該路由的BD。需要存儲(chǔ)一條路由時(shí),模塊將該路由存儲(chǔ)于RT表一個(gè)空條目(條目容量為16個(gè)周期數(shù)據(jù)長(zhǎng)度)。同時(shí)生成一個(gè)新BD存入BD表。

(2)路由讀模塊完成兩個(gè)功能:①讀取一條有效路由;②查收所有包含斷開(kāi)鏈路的有效路由并反饋給路由刪除模塊。

(3)生存周期模塊包含256個(gè)計(jì)數(shù)器(網(wǎng)絡(luò)只支持256個(gè)節(jié)點(diǎn)),為每個(gè)新BD設(shè)置生存周期。

(4)路由刪除模塊維護(hù)一個(gè)有效BD地址的單向鏈表。路由存儲(chǔ)時(shí),將包含新BD地址的表項(xiàng)插入鏈表;路由查找時(shí),查找一個(gè)有效BD地址;路由過(guò)期時(shí),從鏈表中刪除該條路由的有效BD地址表項(xiàng);路由刪除時(shí),刪除包含斷開(kāi)鏈路的路由有效BD地址的表項(xiàng)。

路由存儲(chǔ)時(shí),將路由存于RT表一個(gè)空條目。同時(shí)生成一個(gè)對(duì)該條目進(jìn)行描述的BD并存于BD表中;它的地址被插入鏈表中,并為它設(shè)定生存周期。

路由管理原理如圖3所示。查找路由時(shí),首先讀取鏈表尾條目,根據(jù)有效BD地址讀取BD表一個(gè)有效BD,比對(duì)目的節(jié)點(diǎn)地址。若匹配,根據(jù)RT長(zhǎng)度與有效RT地址讀取RT表一條完整的路由。若不匹配,則根據(jù)鏈表指針讀取鏈表的前一個(gè)條目,然后重復(fù)上面所述的操作,直到目標(biāo)路由或者查完鏈表。路由過(guò)期即路由的BD過(guò)期,將包含該BD地址的條目從鏈表中刪除。路由刪除時(shí),需要重復(fù)路由查找過(guò)程,讀取全部有效路由,并逐條比對(duì)是否包含斷開(kāi)鏈路。將包含斷開(kāi)鏈路的BD地址條目從鏈表中剔除。刪除操作完成后,更新后一個(gè)條目的鏈表指針,使得鏈表完整。

o4YBAF9uGXKAIx9AAACFuVyLNvQ981.png

2 實(shí)驗(yàn)仿真與分析

2.1 總體功能仿真

圖4是路由存儲(chǔ)仿真結(jié)果。標(biāo)號(hào)①是存儲(chǔ)的路由信息,store_route_en是路由存儲(chǔ)的使能,hop[31:0]路由數(shù)據(jù)周期數(shù),did[31:0]目的節(jié)點(diǎn)地址,data_route[31:0]是路由數(shù)據(jù)。

pIYBAF9uGXOANV9RAACJxLcRkcE981.png

圖5、圖6是路由查找仿真結(jié)果。did_to_rd_rt[31:0]是目的節(jié)點(diǎn)地址。標(biāo)號(hào)③與標(biāo)號(hào)④分別是存儲(chǔ)與讀取的路由數(shù)據(jù),兩者是一樣的,故路由查找結(jié)果正確。

pIYBAF9uGXWAIpFZAAB2ZW0Q90c787.png

o4YBAF9uGXaASWF8AABsY3xlynk146.png

圖7與圖8是路由刪除仿真結(jié)果。標(biāo)號(hào)①是存儲(chǔ)的路由,標(biāo)號(hào)③是需要?jiǎng)h除路由包含的前端節(jié)點(diǎn)ID1與后端節(jié)點(diǎn)ID2地址。標(biāo)號(hào)②是路由存儲(chǔ)時(shí)插入鏈表的有效BD地址,標(biāo)號(hào)④是路由刪除后鏈表釋放的BD地址。兩者的數(shù)據(jù)一致,路由刪除結(jié)果正確。

o4YBAF9uGXeACKsOAACL6loNgBw759.png

pIYBAF9uGXmAay2ZAAB9PFFso9w772.png

2.2 總體性能仿真與分析

表1是一條路由存儲(chǔ)的時(shí)延隨周期變化的情況。由表1可知,隨著存儲(chǔ)的路由周期變長(zhǎng),模塊路由存儲(chǔ)的時(shí)延均在166.4 ns左右。

pIYBAF9uGXqAZ888AAA01zRIOdA140.png

若路由不過(guò)期,每條路由固定長(zhǎng)度且每次查找第一條存儲(chǔ)路由,表2是長(zhǎng)度為2周期的路由查找時(shí)延隨著條數(shù)變化情況。表3是長(zhǎng)度為8周期的路由查找時(shí)延隨著條數(shù)變化情況。

o4YBAF9uGXuAJ9k4AABeOQKJ9y0310.png

由表2、表3可知,路由周期固定,隨著存儲(chǔ)條數(shù)增加查找路由的時(shí)延快速增加。在路由表中存儲(chǔ)路由條數(shù)固定情況下,路由查找時(shí)延隨著路由長(zhǎng)度的增加緩慢增加。路由查找的時(shí)延在ns級(jí),說(shuō)明查找速度很快。

表4是長(zhǎng)度為2周期的路由刪除時(shí)延隨著條數(shù)變化情況。表5是長(zhǎng)度為8周期的路由刪除時(shí)延隨著條數(shù)變化情況。

pIYBAF9uGX2AcNILAABbwLKWmuw074.png

由表4、表5可知,在存儲(chǔ)周期固定的路由情況下,隨著存儲(chǔ)條數(shù)增加,刪除路由的時(shí)延快速增加,幾乎是2倍的速率。在路由表中存儲(chǔ)路由條數(shù)固定情況下,路由刪除時(shí)延隨著路由長(zhǎng)度的增加緩慢增加。 但路由刪除的時(shí)延還在μs級(jí)以下,說(shuō)明刪除速度依然很快。從路由存儲(chǔ)、查找、刪除的結(jié)果分析上來(lái)說(shuō),路由管理模塊工作效率是非常高的。

模塊設(shè)計(jì)使用vivado2015.2平臺(tái),開(kāi)發(fā)板采用Xilinx的VC707,使用的設(shè)備是XC7VX485T。片上總功耗為28.379 W,模塊功耗為11.755 W。片上各部分資源使用情況如表6所示。

pIYBAF9uGX6AMJPSAABPW2SazPk758.png

由表6可見(jiàn),使用硬件實(shí)現(xiàn)DSR路由表項(xiàng)管理所占用的硬件資源非常少,功耗十分小。

3 結(jié)論

本文針對(duì)在FPGA中支持DSR路由協(xié)議的核心內(nèi)容路由表項(xiàng)管理提出了一種基于有限狀態(tài)機(jī)的設(shè)計(jì)與實(shí)現(xiàn)方法。建立實(shí)現(xiàn)模型,使用vivado2015.2平臺(tái)進(jìn)行仿真,仿真結(jié)果很好地驗(yàn)證了預(yù)期目標(biāo)。通過(guò)實(shí)驗(yàn)分析,發(fā)現(xiàn)使用FPGA實(shí)現(xiàn)DSR路由表項(xiàng)管理時(shí)延非常低,資源占用十分少,功耗很小。

編輯:hfy

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

    關(guān)注

    1643

    文章

    21960

    瀏覽量

    614068
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    493

    瀏覽量

    28068
  • DSR
    DSR
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    9865
收藏 人收藏

    評(píng)論

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

    有可能在 FX3 GPIF2 中創(chuàng)建兩個(gè)獨(dú)立的狀態(tài)機(jī)嗎?

    我想,如果我想通過(guò) FX3 GPIF2 創(chuàng)建兩個(gè)獨(dú)立的傳輸流接口,我需要在 GPIF2 設(shè)計(jì)器中創(chuàng)建兩個(gè)獨(dú)立的狀態(tài)機(jī),我是否有可能在 GPIF2 設(shè)計(jì)器中創(chuàng)建兩個(gè)獨(dú)立的狀態(tài)機(jī)
    發(fā)表于 05-20 06:14

    cypress3014視頻格式改變的話(huà),GPIF狀態(tài)機(jī)需不需要重新配置?

    你好,請(qǐng)問(wèn)視頻格式改變的話(huà),GPIF狀態(tài)機(jī)需不需要重新配置
    發(fā)表于 05-14 07:28

    [Actor]在程序框圖編程時(shí),如何操作消息和方法對(duì)應(yīng)的VI

    actor應(yīng)用的關(guān)鍵: 當(dāng)在程序框圖編程時(shí),核心是針對(duì)“消息”vi 進(jìn)行操作,并不操作消息對(duì)應(yīng)的方法vi(具體要實(shí)現(xiàn)的功能)。 調(diào)用的消息vi時(shí),后臺(tái)自動(dòng)調(diào)用對(duì)應(yīng)方法vi。 相當(dāng)于在隊(duì)列狀態(tài)機(jī)
    發(fā)表于 05-13 18:10

    求助,關(guān)于srammaster.cydsn中狀態(tài)機(jī)的問(wèn)題求解

    晚上好。 我目前正在學(xué)習(xí) GPIF II。 查看..EZ-USB FX3 SDK1.3firmwaregpif_examplescyfxsrammastersrammaster.cydsn中的狀態(tài)機(jī),有狀態(tài)START和START1。 這意味著什么?
    發(fā)表于 05-12 06:20

    瑞薩RA8D1單片機(jī)IO中斷配置實(shí)現(xiàn)方法

    本文為結(jié)合瑞薩e2 studio工具,以及CPKCOR_RA8D1B評(píng)估板,給大家講述瑞薩RA8D1單片機(jī)IO中斷配置實(shí)現(xiàn)方法
    的頭像 發(fā)表于 04-09 15:05 ?809次閱讀
    瑞薩RA<b class='flag-5'>8</b>D1單片<b class='flag-5'>機(jī)</b>IO中斷配置<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>方法</b>

    MPLS與傳統(tǒng)路由的優(yōu)勢(shì)

    路由器在轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),需要查找并匹配路由表中的可變長(zhǎng)網(wǎng)絡(luò)地址,這通常涉及復(fù)雜的最長(zhǎng)前綴匹配算法,消耗大量CPU資源。而MPLS則通過(guò)標(biāo)簽交換實(shí)現(xiàn)快速轉(zhuǎn)發(fā),減少了路由器的查找次數(shù)和處理
    的頭像 發(fā)表于 02-14 17:27 ?627次閱讀

    如何快速入門(mén)PLD電路設(shè)計(jì)

    基本的數(shù)字邏輯概念,如與、或、非、異或等邏輯門(mén)。 布爾代數(shù) :掌握布爾代數(shù)的基本原理,這對(duì)于設(shè)計(jì)復(fù)雜的邏輯電路至關(guān)重要。 狀態(tài)機(jī) :學(xué)習(xí)有限狀態(tài)機(jī)(F
    的頭像 發(fā)表于 01-20 09:48 ?684次閱讀

    Simulink中的狀態(tài)機(jī)建模方法 Simulink數(shù)據(jù)可視化與分析功能

    1. Simulink中的狀態(tài)機(jī)建模方法 1.1 理解狀態(tài)機(jī)的基本概念 在開(kāi)始建模之前,了解狀態(tài)機(jī)的基本概念是必要的。狀態(tài)機(jī)由以下幾個(gè)部分組
    的頭像 發(fā)表于 12-12 09:27 ?2671次閱讀

    DSR算法的工作原理 影響DSR的主要因素

    DSR(Dynamic Source Routing)算法是一種基于源的路由協(xié)議,主要用于無(wú)線(xiàn)自組織網(wǎng)絡(luò)(如MANETs,Mobile Ad Hoc Networks)。這種協(xié)議允許節(jié)點(diǎn)動(dòng)態(tài)地發(fā)現(xiàn)到
    的頭像 發(fā)表于 12-06 17:10 ?1672次閱讀

    FPGA中有狀態(tài)表項(xiàng)的存儲(chǔ)與管理

    一篇2014年的論文:《CACHE FOR FLOW CONTENT: SOLUTION TODEPENDENT PACKET PROCESSING IN FPGA》,主要講述在FPGA中有狀態(tài)表項(xiàng)的存儲(chǔ)與管理。感興趣的可以閱讀原文。
    的頭像 發(fā)表于 10-27 16:06 ?611次閱讀
    FPGA中有<b class='flag-5'>狀態(tài)表項(xiàng)</b>的存儲(chǔ)與管理

    時(shí)序邏輯電路的描述方法有哪些

    圖、狀態(tài)表、有限狀態(tài)機(jī)、卡諾圖、布爾差分方程、布爾函數(shù)、時(shí)序邏輯仿真等。 狀態(tài)狀態(tài)圖是一種圖形化的描述方法,用于表示時(shí)序邏輯電路的
    的頭像 發(fā)表于 08-28 11:37 ?1227次閱讀

    觸發(fā)器和狀態(tài)機(jī)的關(guān)系是什么

    觸發(fā)器和狀態(tài)機(jī)在數(shù)字電路設(shè)計(jì)中有著緊密的關(guān)系,它們共同構(gòu)成了時(shí)序邏輯電路的基礎(chǔ),用于實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、處理和傳輸。
    的頭像 發(fā)表于 08-12 11:24 ?845次閱讀

    探索汽車(chē)電子用內(nèi)置溫度傳感器的晶體諧振器:DSR1612ATH、DSR211STH 與 DSR221STH

    探索汽車(chē)電子用內(nèi)置溫度傳感器的晶體諧振器:DSR1612ATH、DSR211STH 與 DSR221STH
    的頭像 發(fā)表于 08-05 16:04 ?604次閱讀
    探索汽車(chē)電子用內(nèi)置溫度傳感器的晶體諧振器:<b class='flag-5'>DSR</b>1612ATH、<b class='flag-5'>DSR</b>211STH 與 <b class='flag-5'>DSR</b>221STH

    如何在FPGA中實(shí)現(xiàn)狀態(tài)機(jī)

    在FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)中實(shí)現(xiàn)狀態(tài)機(jī)是一種常見(jiàn)的做法,用于控制復(fù)雜的數(shù)字系統(tǒng)行為。狀態(tài)機(jī)能夠根據(jù)當(dāng)前的輸入和系統(tǒng)狀態(tài),決定下一步的動(dòng)作和新的狀態(tài)。這里,我們將詳細(xì)探討如何在FPG
    的頭像 發(fā)表于 07-18 15:57 ?1089次閱讀

    玩轉(zhuǎn)Spring狀態(tài)機(jī)

    說(shuō)起Spring狀態(tài)機(jī),大家很容易聯(lián)想到這個(gè)狀態(tài)機(jī)和設(shè)計(jì)模式中狀態(tài)模式的區(qū)別是啥呢?沒(méi)錯(cuò),Spring狀態(tài)機(jī)就是狀態(tài)模式的一種
    的頭像 發(fā)表于 06-25 14:21 ?1271次閱讀
    玩轉(zhuǎn)Spring<b class='flag-5'>狀態(tài)機(jī)</b>