日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

Aurora 8B/10B IP核(一)—Aurora概述及數(shù)據(jù)接口

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-16 16:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、Aurora 8B/10B 協(xié)議
Aurora 協(xié)議是一個用于在點對點串行鏈路間移動數(shù)據(jù)的可擴展輕量級鏈路層協(xié)議(由Xilinx開發(fā)提供)。這為物理層提供透明接口,讓專有協(xié)議或業(yè)界標準協(xié)議上層能方便地使用高速收發(fā)器。Aurora協(xié)議在Xilinx的FPGA上有兩種實現(xiàn)方式:8B/10B 與 64B/10B。兩個協(xié)議大部分相同,主要區(qū)別在編碼方式上:

  • Aurora 8B/10B:將8bit數(shù)據(jù)編碼成10bit數(shù)碼進行傳輸,盡量平衡數(shù)據(jù)中“0”和“1”的個數(shù)以實現(xiàn)DC平衡,顯然這個編碼方式的開銷是20%,也就是效率為80%
  • Aurora 64B/10B:將64bit數(shù)據(jù)編碼成66bit塊傳輸,66bit塊的前兩位表示同步頭,主要由于接收端的數(shù)據(jù)對齊和接收數(shù)據(jù)位流的同步。同步頭有“01”和“10”兩種,“01“表示后面的64bit都是數(shù)據(jù),“10”表示后面的64bit是數(shù)據(jù)信息。數(shù)據(jù)信息0和1不一定是平衡的,因此需要進行加擾,開銷較小

Aurora 8B/10B 常用于芯片(FPGA)與芯片(FPGA)之間通信。它用于使用一個或多個收發(fā)器在設備之間傳輸數(shù)據(jù)。連接可以是全雙工(雙向數(shù)據(jù))或單工。最多可實現(xiàn)16個收發(fā)器(GTX,GTP或GTH),吞吐量可從480 Mb / s擴展到84.48 Gb / s。Aurora核心吞吐量取決于收發(fā)器的數(shù)量以及所選收發(fā)器的線路速率。 通過使用25%的開銷來計算吞吐量Aurora 8B / 10B協(xié)議編碼和以及線速0.5 Gb / s至6.6 Gb / s的線速范圍來計算,其傳輸吞吐量為從單通道設計的0.4 Gb / s到最高16通道的84.48 Gb / s。

下圖是一個典型的使用兩個全雙工模式、多條lane構成的Aurora 8B/10B 通信系統(tǒng)。

pYYBAGIMoemAV9mNAAF1_32q300396.png

從上圖不難看出:

  • 用戶使用用戶接口與Aurora 8B/10B IP核進行數(shù)據(jù)交互
  • Aurora 8B/10B IP核是全雙工模式,其數(shù)據(jù)通路由多條Lane組成
  • 發(fā)送的數(shù)據(jù)通過Aurora IP核進行8B/10B編碼后,通過多條Lane發(fā)送到另一個Aurora IP核,該IP核通過用戶接口將接收到的數(shù)據(jù)發(fā)送給用戶

2、Aurora 8B/10B IP核
2.1、IP核組成

接下來我們看一下Aurora 8B/10B IP核的組成:

poYBAGIMoeuAPtgJAAIkg2RwxY0764.png

主要組成部分如下:

  • Lane Logic(通道邏輯):每個GT收發(fā)器由通道邏輯模塊的實例驅動,其初始化每個單獨的收發(fā)器并處理控制字符的編碼和解碼以及錯誤檢測。
  • Global Logic(全局邏輯):全局邏輯模塊執(zhí)行通道初始化的綁定和驗證。 在運行期間,模塊會生成Aurora協(xié)議所需的隨機空閑字符,并監(jiān)視所有通道邏輯模塊的錯誤。
  • RX User Interface(RX接收端口):AXI4-Stream RX接收端口將數(shù)據(jù)從通道移動到應用程序,并執(zhí)行流量控制功能。
  • TX User Interface(TX發(fā)送端口):AXI4-Stream TX發(fā)送端口將數(shù)據(jù)從應用程序移動到通道,并執(zhí)行流量控制TX功能。 標準時鐘補償模塊嵌入在內核中。 該模塊控制時鐘補償(CC)字符的周期性傳輸。

看到這里基本就清楚了:Aurora 8B/10B是一個基于GT高速收發(fā)器(物理層)的全雙工點到點協(xié)議,GT高速收發(fā)器的每個Channel就是Aurora協(xié)議的一條Lane。

下圖是IP核的頂層結構示意圖,更好的說明了該IP核與GT高速收發(fā)器的關系。

pYYBAGIMoe2AKMZvAAFaiDAH2Lk818.png

2.2、延遲(Latency)
由于Aurora 8B/10B IP核的邏輯設計(流水線、編解碼等),用戶端發(fā)送給IP核的數(shù)據(jù),需要一定的延遲才能通過IP核發(fā)送。這一延遲的近似值為37(2字節(jié)位寬)和41(4字節(jié)位寬),如下圖所示:

poYBAGIMoe-AfhaVAAJu6s5ug8M312.png

2.3、Throughput(吞吐率):
Aurora 8B/10B IP核吞吐率取決于GT收發(fā)器的數(shù)量和線速率。 單通道設計到16通道設計的吞吐率分別為0.4Gb/s到84.48Gb/s。 通過Aurora 8B/10B協(xié)議編碼和0.5Gb/s至6.6 Gb/s線路速率范圍的20%開銷來計算吞吐率。

也就是說,使用的GT高速收發(fā)器的通道越多、且其支持的線速率越高,則整個Aurora 8B/10B IP核的吞吐率越高,但是要注意乘以80%,因為8B/10B編碼存在20%的開銷。

2.4、大小端
在IP核的定制中,有一個大小端的選擇問題。所謂的小端,就是我們最常見的多位數(shù)據(jù)定義方式:[n:0] 左邊是高位,右邊是低位,符合Verilog編寫習慣,大端反之。

pYYBAGIMofGAKq6UAAAT1IXqNQg168.png

2.5、數(shù)據(jù)發(fā)送、接收接口
Aurora 8B/10B IP核支持AXI4-Stream協(xié)議,并依據(jù)是否對AXI4-Stream協(xié)議進行再封裝來提供兩種數(shù)據(jù)傳輸接口:Framing 接口(幀傳輸接口)和Streaming接口(流傳輸接口)。

  • Framing接口(幀傳輸接口):在AXI4-Stream的基礎上添加了幀頭、幀尾等控制信號,使得傳輸更準確,但是會降低傳輸效率和使用較多資源
  • Streaming接口(流傳輸接口):基本上就是一個非常簡化的AXI4-Stream接口,只有數(shù)據(jù)有效、握手和數(shù)據(jù)信號,此種方式傳輸效率高,但無法保證傳輸?shù)臏蚀_性

關于AXI4-Stream協(xié)議可以參考:帶你快速入門AXI4總線--匯總篇(直達鏈接)

2.5.1、AXI4-Stream位排序(AXI4-Stream Bit Ordering):
Aurora 8B / 10B IP核采用升序排列。 首先發(fā)送和接收最高有效字節(jié)的最高有效位。 下圖顯示了n字節(jié)的Aurora 8B / 10B IP核的AXI4-Stream數(shù)據(jù)接口示例。

poYBAGIMofKALSAiAAFZcbFqCWU562.png

2.5.2、Framing接口
Framing接口示意圖如下:

pYYBAGIMofSAWFzQAAEoTk7mslU606.png

Framing接口由于存在frame(幀)的概念,所以接口信號較之Streaming接口要復雜一點,主要接口如下:

發(fā)送端(相對于用戶來說):

pYYBAGIMofaAF2dkAAEzSzEXbPQ631.jpg

接收端(相對于用戶來說):

poYBAGIMofmAScVBAAD_vvzQkCc235.jpg

如果你熟悉AXI4-Stream協(xié)議的話,基本就能馬上上手數(shù)據(jù)的接收發(fā)送部分了。

發(fā)送數(shù)據(jù)

  • 從發(fā)送端的幾個信號就可以判斷,當s_axi_tx_tready與s_axi_tx_tvalid握手成功后,即可發(fā)送數(shù)據(jù)
  • 使用s_axi_tx_tlast來表示當前發(fā)送最后一個數(shù)據(jù)
  • s_axi_tx_tkeep來表示最后一個數(shù)據(jù)的有效字節(jié)(應用場景在發(fā)送奇數(shù)個字節(jié)時,IP核會自動添加一個pad到數(shù)據(jù)中,所以存在一個無效字節(jié)需要指出),這一點倒是與AXI4-Stream協(xié)議不太一樣

接收數(shù)據(jù)

  • 接收數(shù)據(jù)不需要握手過程
  • 當m_axi_rx_tvalid為高時,即說明此時的數(shù)據(jù)是有效數(shù)據(jù),可以拿來用了
  • m_axi_rx_tkeep與m_axi_rx_tlast的用法與發(fā)送端對應的信號一致

幀結構

TX子模塊將每個接收的用戶幀通過TX接口轉換為Aurora 8B / 10B幀。 幀開始(SOF)通過在幀開始處添加2字節(jié)的SCP代碼組來指示。 幀結束(EOF)是通過在幀的末尾添加一個2字節(jié)的信道結束通道協(xié)議(ECP)碼組來確定。 數(shù)據(jù)不可用時插入空閑代碼組。 代碼組是8B / 10B編碼字節(jié)對,所有數(shù)據(jù)都作為代碼對發(fā)送,因此具有奇數(shù)個字節(jié)的用戶幀具有稱為PAD的控制字符,附加到幀的末尾以填寫最終的代碼組。 下圖顯示了具有偶數(shù)數(shù)據(jù)字節(jié)的典型Aurora 8B / 10B幀。

pYYBAGIMofqAfeYiAADACPaMgCA622.png

4種發(fā)送案例

手冊(PG046)里舉了4種傳輸案例方便我們理解發(fā)送過程:

Example A: Simple Data Transfer(簡單數(shù)據(jù)傳輸)

在valid信號與ready信號握手成功期間傳輸數(shù)據(jù),傳輸?shù)阶詈笠粋€數(shù)據(jù)DATA2時,拉高tlast信號,表明此時傳輸?shù)氖亲詈笠粋€數(shù)據(jù)。tkeep信號表示最后一個數(shù)據(jù)的那些字節(jié)是有效的。

poYBAGIMofuAL7e_AAFFT0VJKR8225.png

Example B: Data Transfer with Pad(奇數(shù)字節(jié)數(shù)據(jù)傳輸)

在valid信號與ready信號握手成功期間傳輸數(shù)據(jù),傳輸?shù)阶詈笠粋€數(shù)據(jù)DATA2時,拉高tlast信號,表明此時傳輸?shù)氖亲詈笠粋€數(shù)據(jù)。tkeep信號表示最后一個數(shù)據(jù)的那些字節(jié)是有效的。由于此時傳輸?shù)氖瞧鏀?shù)個字節(jié),所以最后一個數(shù)據(jù)中存在無效字節(jié),故tkeep信號的值為N-1。

pYYBAGIMof2AKUUJAAG3DcExILQ440.png

Example C: Data Transfer with Pause(帶有暫停的數(shù)據(jù)傳輸)

在valid信號與ready信號握手成功期間傳輸數(shù)據(jù),傳輸?shù)阶詈笠粋€數(shù)據(jù)DATA2時,拉高tlast信號,表明此時傳輸?shù)氖亲詈笠粋€數(shù)據(jù)。tkeep信號表示最后一個數(shù)據(jù)的那些字節(jié)是有效的。

在握手期間,用戶通過拉低valid信號中斷了握手,實現(xiàn)了數(shù)據(jù)發(fā)送的暫停(流控)。

pYYBAGIMof-AV7O1AAHZlUomjVk434.png

Example D: Data Transfer with Clock Compensation(帶時鐘補償?shù)臄?shù)據(jù)傳輸)

當Aurora 8B / 10B IP核發(fā)送時鐘補償序列時,會自動中斷數(shù)據(jù)傳輸。 時鐘補償序列每10,000字節(jié)加上每個通道的12字節(jié)開銷。其他與上述情況一致。

poYBAGIMogKAF9krAAJf055gUL4002.png

接收數(shù)據(jù)案例

不同于發(fā)送數(shù)據(jù)的握手過程,接收數(shù)據(jù)過程簡單的很,只需要數(shù)據(jù)有效信號m_axi_rx_tvalid為高時,則表示此時接收的數(shù)據(jù)有效,也用m_axi_rx_tkeep、m_axi_rx_tlast來修飾接收的最后一個數(shù)據(jù)。典型過程如下:

pYYBAGIMogSAaXA8AAEslZpkqxg571.png

當m_axi_rx_tvalid為高時,接收到的數(shù)據(jù)有效,其他時候則無效。

Framing接口總結:

  • Framing接口類似被再封裝的AXI4-Streaming接口,IP核自動加入幀頭、幀尾,并在固定時間內完成時鐘補償
  • 發(fā)送端用戶只需要在發(fā)送、接收雙方完成握手后,即可發(fā)送數(shù)據(jù),通信雙方均可通過握手信號來反壓對方;接收端用戶僅需要在valid信號有效時從總線上拿數(shù)據(jù)即可
  • 由于是幀結構,所以需要有信號來約束幀長度--tlast;由于數(shù)據(jù)的發(fā)送是成對發(fā)送,所以最后一個數(shù)據(jù)可能存在無效字節(jié)的情況,故需要對最后一個數(shù)據(jù)的有效字節(jié)數(shù)進行約束--tkeep

2.5.3、Streaming接口
Streaming接口示意圖如下:

pYYBAGIMogWAXYOQAADtd_Yfysw345.png

看起來比 Framing接口清爽了很多,因為發(fā)送端和接收端都少了keep和last這兩個信號(共4個)。之前說過,F(xiàn)raming接口的幀框架使得需要使用keep和last這兩個信號來控制幀的長度,所以信號較多。而Streaming接口則沒有幀框架,相當于一條不停流動的管道,所以不需要使用keep和last這兩個信號來控制長度。

用起來也很簡單,發(fā)送數(shù)據(jù)只要在tvalid信號和tready信號握手成功時就可以發(fā)送;接收數(shù)據(jù)就更簡單了,只要tvalid為高則說明此時接收的數(shù)據(jù)是有效的。

直接看圖來加深理解:

Example A: TX Streaming Data Transfer(數(shù)據(jù)發(fā)送)

簡單直白,只有當s_axi_tx_tready、s_axi_tx_tvalid均為高(成功握手)時,才可以發(fā)送數(shù)據(jù)。

pYYBAGIMogiAdaXxAAFZLiMKkaE432.png

Example B: RX Streaming Data Transfer(接收數(shù)據(jù))

簡單直白,只有當m_axi_rx_tvalid為高時才說明接收到的數(shù)據(jù)為有效數(shù)據(jù)。

pYYBAGIMogqACrgwAAFV3foQZZw621.png

Streaming接口總結:

  • Streaming接口就是經(jīng)典的AXI4-Streaming接口,沒有幀的概念,數(shù)據(jù)總線上數(shù)據(jù)長度是不受限制的
  • 發(fā)送端用戶只需要在發(fā)送、接收雙方完成握手后,即可發(fā)送數(shù)據(jù),通信雙方均可通過握手信號來反壓對方;接收端用戶僅需要在valid信號有效時從總線上拿數(shù)據(jù)即可

3、其他

  • 下一節(jié)我們再來一起學習下Aurora IP核的時鐘架構、復位和指示信號。
  • 創(chuàng)作不易,如果本文對您有幫助,還請多多點贊、評論和收藏。您的支持是我持續(xù)更新的最大動力!
  • 關于本文,您有什么想法均可在評論區(qū)留言。如果需要整個工程,請在評論留下郵箱或者私信我郵箱(注意保護隱私)。
  • 自身能力不足,如有錯誤還請多多指出!

參考資料

Aurora 8B/10B Protocol Specification

Aurora 8B/10B v11.1 LogiCORE IP Product Guide

FPGA設計心得(3)Aurora IP core 的理論學習記錄

審核編輯:符乾江

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

    關注

    1

    文章

    95

    瀏覽量

    19458
  • AURORA
    +關注

    關注

    0

    文章

    25

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用Aurora 6466b協(xié)議實現(xiàn)AMD UltraScale+ FPGA與AMD Versal自適應SoC的對接

    在本博客中,我們將介紹使用 Aurora 6466b 協(xié)議實現(xiàn) AMD UltraScale+ FPGA 與 AMD Versal 自適應 SoC 的對接。我們還將涵蓋有關 IP 配置、FPGA 之間的連接、時鐘設置以及復位拓撲
    的頭像 發(fā)表于 01-13 14:04 ?3848次閱讀
    使用<b class='flag-5'>Aurora</b> 6466<b class='flag-5'>b</b>協(xié)議實現(xiàn)AMD UltraScale+ FPGA與AMD Versal自適應SoC的對接

    Vivado浮點數(shù)IP些設置注意點

    現(xiàn),舉例比較大小模式: 此時會需要模式控制信號,該信號的設置方法參考其文檔,如加法是8b0,減法是8b1,該規(guī)則對乘加/減、加減都成立。有的IP
    發(fā)表于 10-24 06:25

    Qwen3-VL 4B/8B全面適配,BM1684X成邊緣最佳部署平臺!

    算能BM1684X上完成Qwen3-VL4B/8B模型的適配,推理速度13.7/7.2tokens/s,使其成為邊緣部署多模態(tài)大模型的最佳選擇。近日,阿里千問正式開源Qwen3-VL系列的4B
    的頭像 發(fā)表于 10-16 18:00 ?3251次閱讀
    Qwen3-VL 4<b class='flag-5'>B</b>/<b class='flag-5'>8B</b>全面適配,BM1684X成邊緣最佳部署平臺!

    思嵐科技推出新代全集成AI空間感知系統(tǒng)Aurora S

    我們非常榮幸地通知大家:思嵐新代全集成AI空間感知系統(tǒng)——Aurora S正式發(fā)布!
    的頭像 發(fā)表于 10-14 15:39 ?1324次閱讀

    JEDSD204B標準verilog實現(xiàn)-協(xié)議演進

    關聯(lián)轉換器采樣率,無需外部幀時鐘輸入)。 最大串行數(shù)據(jù)速率 最高3.125 Gbps(受限于8b/10b編碼及早期SerDes技術)。 最高6.25 Gbps(優(yōu)化編碼與SerDes,支持更高速率)。 最高
    發(fā)表于 09-05 21:18

    Aurora接口的核心特點和應用場景

    Aurora 是 Xilinx(賽靈思)推出的種高速串行接口協(xié)議,主要用于 FPGA 之間或 FPGA 與其他高速設備(如處理器、ADC/DAC、光模塊等)的高帶寬、低延遲數(shù)據(jù)傳輸。
    的頭像 發(fā)表于 08-30 14:14 ?3704次閱讀

    案例研究:Atola Taskforce 2 借助 MB699VP-B &amp;amp; MB705M2P-B 優(yōu)化取證設備數(shù)據(jù)采集

    案例研究:AtolaTaskforce2借助MB699VP-B&MB705M2P-B優(yōu)化取證設備數(shù)據(jù)采集概述AtolaTechnology是作為數(shù)據(jù)
    的頭像 發(fā)表于 08-14 17:00 ?1126次閱讀
    案例研究:Atola Taskforce 2 借助 MB699VP-<b class='flag-5'>B</b> &amp;amp; MB705M2P-<b class='flag-5'>B</b> 優(yōu)化取證設備<b class='flag-5'>數(shù)據(jù)</b>采集

    低頻段 LNA 前端模塊(B26/B5/B18/B19、B8、B20、B12/13/17、B28A、B28BB29) skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()低頻段 LNA 前端模塊(B26/B5/B18/B19、B8、B20、
    發(fā)表于 06-27 18:32
    低頻段 LNA 前端模塊(<b class='flag-5'>B</b>26/<b class='flag-5'>B</b>5/<b class='flag-5'>B</b>18/<b class='flag-5'>B</b>19、<b class='flag-5'>B8</b>、<b class='flag-5'>B</b>20、<b class='flag-5'>B</b>12/13/17、<b class='flag-5'>B</b>28A、<b class='flag-5'>B28B</b> 和 <b class='flag-5'>B</b>29) skyworksinc

    帶增益的 RX 分集 FEM(B26、B8B20、B1/4、B3 和 B7) skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()帶增益的 RX 分集 FEM(B26、B8、B20、B1/4、B3 和 B
    發(fā)表于 06-27 18:31
    帶增益的 RX 分集 FEM(<b class='flag-5'>B</b>26、<b class='flag-5'>B8</b>、<b class='flag-5'>B</b>20、<b class='flag-5'>B</b>1/4、<b class='flag-5'>B</b>3 和 <b class='flag-5'>B</b>7) skyworksinc

    使用 NPU 插件對量化的 Llama 3.1 8b 模型進行推理時出現(xiàn)“從 __Int64 轉換為無符號 int 的錯誤”,怎么解決?

    安裝了 OpenVINO? GenAI 2024.4。 使用以下命令量化 Llama 3.1 8B 模型: optimum-cli export openvino -m meta-llama
    發(fā)表于 06-25 07:20

    VIVADO自帶Turbo譯碼器IP怎么用?

    turbo譯碼器IP,控制接口配置了flush、standard、size,輸入接口送的是編碼后量化的數(shù)據(jù),因為編碼輸出的是1bit(0或
    發(fā)表于 06-23 17:39

    具有載波聚合的 RX 分集 FEM(B26、B8、B12/13、B2/25、B4 和 B7) skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()具有載波聚合的 RX 分集 FEM(B26、B8、B12/13、B2/25、B4 和
    發(fā)表于 06-19 18:35
    具有載波聚合的 RX 分集 FEM(<b class='flag-5'>B</b>26、<b class='flag-5'>B8</b>、<b class='flag-5'>B</b>12/13、<b class='flag-5'>B</b>2/25、<b class='flag-5'>B</b>4 和 <b class='flag-5'>B</b>7) skyworksinc

    帶增益的 RX 分集 FEM(B29、B26、B8、B20、B12/13、B28A 和 B28B) skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()帶增益的 RX 分集 FEM(B29、B26、B8、B20、B12/13、B
    發(fā)表于 06-11 18:31
    帶增益的 RX 分集 FEM(<b class='flag-5'>B</b>29、<b class='flag-5'>B</b>26、<b class='flag-5'>B8</b>、<b class='flag-5'>B</b>20、<b class='flag-5'>B</b>12/13、<b class='flag-5'>B</b>28A 和 <b class='flag-5'>B28B</b>) skyworksinc

    這4K120HZ的USB-C口方案,最受高端客戶喜歡了。

    /555/444 RGB、10b/8b YUV422、YUV420_8b(傳統(tǒng))格式,并支持 CSI 專有模式包括 YUV420_10b/YUV420_12
    發(fā)表于 06-10 19:54

    JESD204B IP的配置與使用

    物理層的位置,種是物理層在JESD204 IP里;另外種是物理層在JESD204 IP外部,需要再配置JESD204 phy IP
    的頭像 發(fā)表于 05-24 15:05 ?2705次閱讀
    JESD204<b class='flag-5'>B</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>的配置與使用
    闻喜县| 沙田区| 盘锦市| 当雄县| 三门峡市| 济源市| 太原市| 马鞍山市| 府谷县| 惠州市| 长兴县| 南京市| 昂仁县| 泰州市| 枣阳市| 太谷县| 新安县| 古丈县| 酉阳| 屯门区| 温泉县| 麻江县| 德令哈市| 鹿泉市| 抚顺市| 凤阳县| 曲松县| 宝坻区| 景东| 徐闻县| 彭山县| 汉阴县| 曲松县| 银川市| 仁怀市| 南充市| 新竹市| 万宁市| 安新县| 舞阳县| 高碑店市|