chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

電子設計 ? 來源:電子技術應用 ? 作者:電子技術應用 ? 2020-12-22 16:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

來源:2018年電子技術應用第12期

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

0 引言

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

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

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

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

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

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

1.1 總體方案

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

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

路由管理有限狀態(tài)機的設計是基于DSR協(xié)議,有限狀態(tài)機的狀態(tài)跳轉如圖2所示。若需要查找一條路由時,狀態(tài)機從IDLE狀態(tài)跳轉到路由查找狀態(tài)并生成路由查找使能,當狀態(tài)機收到查找操作結束信號時,狀態(tài)機跳轉到IDLE狀態(tài);若需要刪除路由時,狀態(tài)機從IDLE狀態(tài)跳轉到路由刪除狀態(tài)并生成路由刪除使能,當狀態(tài)機收到刪除操作結束信號時,狀態(tài)機跳轉到IDLE狀態(tài);若需要存儲一條路由時,狀態(tài)機從IDLE狀態(tài)跳轉到路由緩存狀態(tài)并生成路由存儲使能給路由管理模塊,當狀態(tài)機收到路由存儲操作結束信號時,狀態(tài)機跳轉回IDLE狀態(tài)。

o4YBAF9uGXCARuZCAACLqxbTmxM551.png

1.3 路由管理模塊

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

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

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

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

(4)路由刪除模塊維護一個有效BD地址的單向鏈表。路由存儲時,將包含新BD地址的表項插入鏈表;路由查找時,查找一個有效BD地址;路由過期時,從鏈表中刪除該條路由的有效BD地址表項;路由刪除時,刪除包含斷開鏈路的路由有效BD地址的表項。

路由存儲時,將路由存于RT表一個空條目。同時生成一個對該條目進行描述的BD并存于BD表中;它的地址被插入鏈表中,并為它設定生存周期。

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

o4YBAF9uGXKAIx9AAACFuVyLNvQ981.png

2 實驗仿真與分析

2.1 總體功能仿真

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

pIYBAF9uGXOANV9RAACJxLcRkcE981.png

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

pIYBAF9uGXWAIpFZAAB2ZW0Q90c787.png

o4YBAF9uGXaASWF8AABsY3xlynk146.png

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

o4YBAF9uGXeACKsOAACL6loNgBw759.png

pIYBAF9uGXmAay2ZAAB9PFFso9w772.png

2.2 總體性能仿真與分析

表1是一條路由存儲的時延隨周期變化的情況。由表1可知,隨著存儲的路由周期變長,模塊路由存儲的時延均在166.4 ns左右。

pIYBAF9uGXqAZ888AAA01zRIOdA140.png

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

o4YBAF9uGXuAJ9k4AABeOQKJ9y0310.png

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

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

pIYBAF9uGX2AcNILAABbwLKWmuw074.png

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

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

pIYBAF9uGX6AMJPSAABPW2SazPk758.png

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

3 結論

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

編輯:hfy

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

    關注

    1655

    文章

    22286

    瀏覽量

    630295
  • 狀態(tài)機
    +關注

    關注

    2

    文章

    497

    瀏覽量

    28851
  • DSR
    DSR
    +關注

    關注

    0

    文章

    12

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    睿遠研究院丨IO-Link規(guī)范解讀(十一):ISDU狀態(tài)機與EVENT事件

    上篇我們介紹了ISDU的典型編碼格式和應用案例,本篇我們就來詳細介紹下,ISDU的狀態(tài)機,并把EVENT事件的邏輯,給大家好好解析下。 1主站ISDU狀態(tài)機 如上圖所示,ISDU的狀態(tài)機的核心
    的頭像 發(fā)表于 11-29 18:28 ?2715次閱讀
    睿遠研究院丨IO-Link規(guī)范解讀(十一):ISDU<b class='flag-5'>狀態(tài)機</b>與EVENT事件

    什么是狀態(tài)機?

    狀態(tài),這樣用 20 個狀態(tài)同樣能實現(xiàn)這個狀態(tài)機,而且只需要一個 unsigned char 型的變量就足夠了,每次擊鍵都會引發(fā)狀態(tài)遷移,每
    發(fā)表于 11-27 08:15

    嵌入式開發(fā)為何經(jīng)常用到狀態(tài)機架構

    ,這樣CPU就閑不下來了。 這種處理方法的實質(zhì)就是在程序等待事件的過程中間隔性地插入一些有意義的工作,好讓CPU不是一直無謂地等待。 二、邏輯完備性 邏輯完備性是狀態(tài)機編程最大的優(yōu)點。 不知道大家
    發(fā)表于 11-25 07:08

    復雜的軟件算法硬件IP核的實現(xiàn)

    中的運算符有對應關系。 結構域負責將功能域中的各個基本功能單元按特定的順序和方式連接起來,通常被實現(xiàn)為一個由有限狀態(tài)機控制的數(shù)據(jù)通路,該結構與C 語言的流程控制語句相對應。 以一個簡單的加法組合邏輯為例
    發(fā)表于 10-30 07:02

    睿遠研究院丨IO-Link規(guī)范解讀(六):主從站狀態(tài)機解析

    前言 書接上文,今天我們就來好好聊聊主從站的DL-Mode狀態(tài)機,還請各位童鞋前排坐好! 1主站狀態(tài)機解析 主站的DL-Mode狀態(tài)機有5個大狀態(tài),也是我們很熟悉的 建立通信、開始、預
    的頭像 發(fā)表于 10-28 17:34 ?5795次閱讀
    睿遠研究院丨IO-Link規(guī)范解讀(六):主從站<b class='flag-5'>狀態(tài)機</b>解析

    掌握數(shù)字設計基礎:邁向芯片設計的第一步

    寄存器、計數(shù)器。 兩者結合,就能實現(xiàn)強大的數(shù)據(jù)處理與控制能力。 4、有限狀態(tài)機(FSM):數(shù)字系統(tǒng)的大腦 在更復雜的設計中,有限狀態(tài)機(FSM) 就像系統(tǒng)的“大腦”,通過狀態(tài)與轉移邏輯
    發(fā)表于 10-09 21:11

    JTAG標準的狀態(tài)機實現(xiàn)

    JTAG作為一項國際標準測試協(xié)議(IEEE1149.1兼容),主要用于芯片內(nèi)部測試和調(diào)試。目前的主流芯片均支持JTAG協(xié)議,如DSP、FPGA、ARM、部分單片等。標準的JTAG接口是20Pin,但JTAG實際使用的只有4根信號線,再配合電源、地。
    的頭像 發(fā)表于 08-21 15:12 ?2056次閱讀
    JTAG標準的<b class='flag-5'>狀態(tài)機</b><b class='flag-5'>實現(xiàn)</b>

    請問如何在FX10上使用GPIF III狀態(tài)機 *.h 文件?

    LVCMOS 2 位 SlaveFIFO GPIF III 狀態(tài)機的演示中有一個 cy_gpif_header_lvcmos.h 文件。 我想知道如何使用.h文件,只需放入.h文件放入 FX10 項目? 您有它的用戶指南文檔嗎?
    發(fā)表于 07-16 08:17

    NVMe高速傳輸之擺脫XDMA設計之八:PCIe初始化狀態(tài)機設計

    PCIe配置初始化狀態(tài)機實現(xiàn)PCIe設備枚舉和配置空間初始化過程,在完成鏈路訓練后,使用DFS(深度優(yōu)先搜索)算法枚舉PCIe總線上的設備,完成PCIe總線域的地址分配和設備的初始化。PCIe配置
    發(fā)表于 07-05 22:00

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

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

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

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

    [Actor]在程序框圖編程時,如何操作消息和方法對應的VI

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

    求助,關于srammaster.cydsn中狀態(tài)機的問題求解

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

    如何快速入門PLD電路設計

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

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

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