国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

航天用SRAM型FPGA抗單粒子翻轉(zhuǎn)設(shè)計(jì)

2011-06-08 05:04
航天器環(huán)境工程 2011年6期
關(guān)鍵詞:抗輻射寄存器粒子

馬 寅

(中國(guó)空間技術(shù)研究院 載人航天總體部,北京 100094)

0 引言

在日益復(fù)雜的航天器電子系統(tǒng)中,用戶可配置的 FPGA由于其功能配置的多樣性與可重復(fù)性以及進(jìn)行海量數(shù)據(jù)處理時(shí)的靈活性與高效性,逐漸承擔(dān)起更多的任務(wù)。

然而,采用SRAM工藝的FPGA受空間高能粒子影響較大,其內(nèi)部配置存儲(chǔ)器的邏輯狀態(tài)常常由于粒子撞擊而翻轉(zhuǎn),即發(fā)生單粒子翻轉(zhuǎn)(SEU)。如果翻轉(zhuǎn)發(fā)生在邏輯功能區(qū),可能導(dǎo)致航天器的功能中斷;如果翻轉(zhuǎn)發(fā)生在RAM單元,可能導(dǎo)致數(shù)據(jù)錯(cuò)誤或者丟失[1]。

近年來(lái),針對(duì)SEU的容錯(cuò)研究有了很大發(fā)展。隨著SRAM型FPGA不斷的技術(shù)革新,容錯(cuò)技術(shù)也呈現(xiàn)多樣化??偟膩?lái)說(shuō),SRAM型FPGA的容錯(cuò)技術(shù)分為兩大類:第一類是作用于前端的SEU屏蔽,包括各種抗輻射加固結(jié)構(gòu)設(shè)計(jì)、新的高性能抗輻射CMOS工藝等[2]。這類技術(shù)可以帶來(lái)抗輻射能力的顯著提高,但一般都要在附帶性能上作出犧牲,如可實(shí)現(xiàn)的高速時(shí)鐘頻率往往要下降一半以上,實(shí)現(xiàn)成本也由于對(duì)工藝的更改而大大增加。第二類是作用于后端的SEU恢復(fù),如錯(cuò)誤檢測(cè)和糾正編碼(EDAC),以及 Xilinx公司提出的刷新(scrubbing)、回讀檢測(cè)等[3]。這類技術(shù)在實(shí)現(xiàn)成本和性能犧牲上要優(yōu)于第一類,但由于翻轉(zhuǎn)形式多樣,同樣不能保證百分之百的容錯(cuò)。

只有同時(shí)結(jié)合兩類容錯(cuò)技術(shù),既做到前期盡量避免翻轉(zhuǎn)發(fā)生,也做到后期盡量恢復(fù)已經(jīng)發(fā)生的翻轉(zhuǎn)以避免其累積,才可以獲得最佳的抗輻射性能。前期屏蔽的設(shè)計(jì)方法已經(jīng)比較成熟,本文將著重討論針對(duì)Xilinx公司高性能的Virtex系列FPGA的抗SEU設(shè)計(jì)對(duì)配置邏輯部分采用回讀比較后刷新;對(duì) Block RAM部分采用通用自糾錯(cuò)宏[4-5]的容錯(cuò)設(shè)計(jì)方案。

1 SRAM型FPGA原理簡(jiǎn)介

1.1 配置原理

SRAM型 FPGA用戶編程功能的實(shí)現(xiàn)依賴于數(shù)百萬(wàn)配置鎖存器中存儲(chǔ)的數(shù)據(jù)。數(shù)據(jù)幀是配置數(shù)據(jù)在FPGA配置存儲(chǔ)器中可以讀寫的最小單位。多組配置幀組成一個(gè)配置幀列,配置幀列根據(jù)功能的不同,細(xì)分為CLB幀列、IOB幀列、IOI幀列、GCLK幀列、BRAM幀列和BRAM內(nèi)連幀列。這些幀列可以被劃分為3類:CLB幀塊(包括GCLK、CLB、IOB、IOI幀列),BRAM 幀塊,BRAM 內(nèi)連幀塊[6]。一個(gè)完整的配置文件就是由所有配置位置的幀信息和一些必要的首位命令字所組成的。

幀是可尋址的。幀地址分為塊地址(BA)、主地址(MJA)和從地址(MNA)3部分,如圖 1所示。塊地址對(duì)應(yīng)3個(gè)幀塊,主地址指明了塊地址下某幀列的位置,從地址指明了幀列中某特定幀的位置。由這3個(gè)地址就可以準(zhǔn)確地定位到一個(gè)配置數(shù)據(jù)幀了。

為了引導(dǎo)和輔助配置,F(xiàn)PGA內(nèi)部設(shè)計(jì)了一些專用于配置的32 bit的配置寄存器,例如幀地址寄存器(FAR)、幀數(shù)據(jù)輸入寄存器(FDRI)、控制寄存器(COL)等都對(duì)配置、刷新、回讀等操作起關(guān)鍵作用。

圖1 Virtex-II FPGA內(nèi)部配置架構(gòu)Fig.1 Virtex-II FPGA configuration architecture

1.2 刷新

配置數(shù)據(jù)中一個(gè)位(bit)的翻轉(zhuǎn)不一定直接導(dǎo)致FPGA發(fā)生功能故障,這是由于翻轉(zhuǎn)的位置可能恰好不在FPGA編程布線區(qū)。然而,如果不及時(shí)采取恢復(fù)措施,翻轉(zhuǎn)位數(shù)量會(huì)不斷累積,達(dá)到一定程度終究會(huì)導(dǎo)致功能錯(cuò)誤。刷新的直接功能就是阻止翻轉(zhuǎn)位的累積。

刷新就是在FPGA已經(jīng)上電配置成功之后,不事先擦除已有的邏輯,就直接重新寫入配置數(shù)據(jù)且不中斷用戶的功能。理論上來(lái)說(shuō)刷新也屬于部分重配置,目前只有Xilinx公司的Virtex系列FPGA支持刷新[6-7]。

為了實(shí)現(xiàn)刷新,有幾點(diǎn)需要注意:

1)在設(shè)計(jì)中不能使用SRL16和分布式RAM。因?yàn)樗⑿聲?huì)將其初始化,導(dǎo)致其實(shí)時(shí)狀態(tài)的丟失。

2)只有JTAG和SelectMAP可以被用于刷新。需要配置端口在配置后保持配置功能,不被復(fù)用為普通IO口。另外,啟動(dòng)時(shí)鐘(start-up clock)必須被設(shè)置為CCLK。

1.3 回讀比較

回讀是在 FPGA配置完成后將其內(nèi)部配置鎖存器中的數(shù)據(jù)讀出的過(guò)程?;刈x的操作也不會(huì)影響FPGA的正常工作[6,8]。

回讀時(shí),用戶可以讀出所有的配置信息,甚至連用戶存儲(chǔ)單元如LUT RAM、SRL16、BRAM中的實(shí)時(shí)數(shù)據(jù)也可以讀出。但是如果在線回讀存儲(chǔ)單元中的實(shí)時(shí)數(shù)據(jù),可能導(dǎo)致FPGA死鎖。一般回讀時(shí)將跳過(guò)這些部分,對(duì)存儲(chǔ)單元的容錯(cuò)另外處理。

與刷新相同,回讀只能通過(guò) SelectMAP或JTAG配置接口進(jìn)行,同樣也需要在配置后進(jìn)行功能保持。

回讀出數(shù)百萬(wàn)配置鎖存器中的 FPGA配置信息后,將其與原始配置文件進(jìn)行逐位對(duì)比。如果有不同,則說(shuō)明可能有單粒子翻轉(zhuǎn),且能同時(shí)準(zhǔn)確定位到是哪一幀數(shù)據(jù)的哪一位發(fā)生了翻轉(zhuǎn)。

1.4 塊RAM容錯(cuò)設(shè)計(jì)

塊RAM(Block RAM,簡(jiǎn)稱BRAM)是FPGA內(nèi)部嵌入的專用RAM區(qū),可以被配置成多種維度和尺寸的RAM,形式也多樣化,單端口RAM、雙端口RAM、FLASH等都可以通過(guò)設(shè)定不同的參數(shù)來(lái)實(shí)現(xiàn)[6]。

BRAM 存儲(chǔ)實(shí)時(shí)數(shù)據(jù)會(huì)隨著工作不斷變化,如果對(duì)其進(jìn)行刷新或回讀操作,可能會(huì)因?yàn)橛绊憣?shí)時(shí)數(shù)據(jù)進(jìn)而影響到FPGA的正常工作,導(dǎo)致死鎖或其他故障。因此對(duì)BRAM的容錯(cuò)設(shè)計(jì)不同于配置邏輯部分,簡(jiǎn)單的三模冗余設(shè)計(jì)效果不明顯,一般需要有對(duì)實(shí)時(shí)數(shù)據(jù)的檢測(cè)、存儲(chǔ)和恢復(fù)處理功能。Xilinx公司提供了一種自糾錯(cuò)宏[4],將其應(yīng)用到BRAM中可以自糾正發(fā)生在BRAM中的翻轉(zhuǎn)。

這種BRAM自糾錯(cuò)宏的容錯(cuò)算法如圖2所示:

1)BRAM做三模冗余設(shè)計(jì),各BRAM設(shè)計(jì)有地址計(jì)數(shù)器端口AB。

2)各 BRAM 均有一個(gè)數(shù)據(jù)輸出端口 Data_OutB,同時(shí)輸出同一個(gè)地址的3個(gè)BRAM單元數(shù)據(jù),用于表決。

3)從Data_OutB輸出的3個(gè)BRAM的數(shù)據(jù)經(jīng)表決后作為Din_B的輸入數(shù)據(jù)。

4)如果檢測(cè)到錯(cuò)誤,WEB(Write Enable B)激活并糾正BRAM中的翻轉(zhuǎn)。各BRAM的地址計(jì)數(shù)器將暫時(shí)不工作。

5)糾錯(cuò)過(guò)后,令地址計(jì)數(shù)器恢復(fù)工作,繼續(xù)計(jì)數(shù)。開始下一個(gè)BRAM地址單元的檢錯(cuò)糾錯(cuò)。

圖2 Block RAM自糾錯(cuò)宏容錯(cuò)圖解Fig.2 Diagram of fault-tolerant function of self-correction macro for block RAM

2 FPGA抗SEU設(shè)計(jì)

本文提出的FPGA抗SEU設(shè)計(jì)綜合了回讀比較(檢錯(cuò))、刷新(糾錯(cuò))和BRAM自糾錯(cuò)宏(特殊處理)3種抗SEU措施[7,9-10]。

如圖3所示,執(zhí)行回讀比較和刷新操作的核心控制由一塊具有高抗輻射性能的芯片完成,如ASIC或反熔絲的 FPGA;核心控制芯片一側(cè)是具有高抗輻射性能的存儲(chǔ)芯片,用于存儲(chǔ) Virtex FPGA的配置文件(.bitsream或其他格式);另一側(cè)是Virtex FPGA,完成用戶功能。

圖3 FPGA抗SEU設(shè)計(jì)框圖Fig.3 Diagram of FPGA SEU-tolerant design

容錯(cuò)處理流程如圖4所示:

1)系統(tǒng)上電。

2)控制芯片從外部存儲(chǔ)芯片導(dǎo)入配置文件到FPGA。

3)完成配置,DONE信號(hào)跳高,F(xiàn)PGA開始正常工作。

4)回讀比較FPGA幀地址寄存器中的數(shù)據(jù)。如果相同,則進(jìn)行下一步;不相同,則需要重新上電配置。

5)回讀比較FPGA狀態(tài)寄存器中數(shù)據(jù)判讀,如果正常,進(jìn)行下一步;不正常,則需要重新上電配置。

6)回讀比較FPGA數(shù)百萬(wàn)配置鎖存器中的數(shù)據(jù),和外部存儲(chǔ)芯片中的原始配置信息逐位對(duì)比。如果相同,重復(fù)回讀比較流程;不相同,則需要刷新糾正。

圖4 容錯(cuò)設(shè)計(jì)流程圖Fig.4 Flow chart of fault-tolerant design

控制芯片觸發(fā)刷新糾正的流程后,步驟如下:

1)對(duì)FPGA的多個(gè)配置寄存器重新設(shè)置,做好刷新準(zhǔn)備。

2)以特定的順序?qū)⑼獠看鎯?chǔ)芯片中的配置數(shù)據(jù)寫入FPGA中,完成數(shù)百萬(wàn)配置鎖存器中數(shù)據(jù)的更新。

3)再重復(fù)執(zhí)行一次刷新,保證對(duì)已發(fā)生翻轉(zhuǎn)的糾正。

對(duì)BRAM采取特殊處理方法,使用Xilinx提供的通用自糾錯(cuò)宏替換用戶的RAM設(shè)計(jì)。如一個(gè)單端口 RAM,將通過(guò)修改綜合后的網(wǎng)表文件(.ngc),被替換成 3個(gè)擁有冗余表決和比較、糾錯(cuò)功能的RAM,之后使用新的網(wǎng)表文件布局布線,完成對(duì)BRAM的容錯(cuò)設(shè)計(jì)。步驟如下:

1)設(shè)置宏參數(shù),如BRAM的寬度、深度,是否讀使能等。

2)綜合生成一個(gè)地址計(jì)數(shù)器的網(wǎng)表。使用XTMR工具(Xilinx的TMR實(shí)現(xiàn)軟件)對(duì)地址計(jì)數(shù)器做三模冗余。

3)生成一個(gè)BRAM自糾錯(cuò)模塊的網(wǎng)表。

4)綜合用戶設(shè)計(jì),生成原始網(wǎng)表文件。

5)用BRAM自糾錯(cuò)模塊的網(wǎng)表替換用戶設(shè)計(jì)中的BRAM網(wǎng)表。

6)使用新網(wǎng)表文件進(jìn)行布局布線。

3 抗輻射設(shè)計(jì)效果評(píng)測(cè)

圖 5所示為對(duì)回讀比較出錯(cuò)后進(jìn)行刷新糾正的效果。產(chǎn)生高電平跳變信號(hào)后(圖 5(a)),停止回讀比較,執(zhí)行一次刷新操作;之后再執(zhí)行回讀比較,該錯(cuò)誤被糾正(圖5(b))。

為實(shí)現(xiàn)本設(shè)計(jì),相比普通實(shí)現(xiàn)方案,增加了一塊控制芯片,占用了一定的PCB面積;功耗也有相應(yīng)的增加,執(zhí)行回讀/刷新時(shí)將增加約0.25 W;由于使用自糾錯(cuò)宏對(duì) BRAM 進(jìn)行處理,占用了 3倍多的芯片內(nèi)RAM資源。然而,一定的性能犧牲換來(lái)了較高的空間應(yīng)用可靠性。

文獻(xiàn)[11]對(duì)SRAM型FPGA進(jìn)行了單粒子翻轉(zhuǎn)地面模擬試驗(yàn),軌道分別取低地球軌道(645 km/97.9°)和地球靜止軌道,衛(wèi)星屏蔽厚度取3 mm鋁,空間輻射環(huán)境取 90%最壞情況(M=3)。結(jié)果為:FPGA配置區(qū)在低地球軌道,每天會(huì)出現(xiàn)2.55次翻轉(zhuǎn);在地球靜止軌道,配置區(qū)每天會(huì)出現(xiàn) 7.96次翻轉(zhuǎn)。每翻轉(zhuǎn)1次,均可導(dǎo)致器件功能不正常。

圖5 SRAM型FPGA糾錯(cuò)前后對(duì)比Fig.5 Comparison before and after read-back & scrubbing of SRAM FPGA

文獻(xiàn)[10]中提到Xilinx與JPL聯(lián)合測(cè)試計(jì)算出的不同軌道情況下Virtex-II 600萬(wàn)門FPGA的翻轉(zhuǎn)率,如表1所示。

表1 XC2V6000在不同軌道的翻轉(zhuǎn)率Table1 SEU rates of XC2V6000 on different orbits

按照最惡劣情況考慮,SEU發(fā)生率也在10次/(器件·d)以下。本文提出的容錯(cuò)設(shè)計(jì)方法是將對(duì)配置存儲(chǔ)數(shù)據(jù)進(jìn)行周期性的回讀比較和刷新,而經(jīng)驗(yàn)之法是將回讀速率和刷新速率設(shè)置在高于翻轉(zhuǎn)率一個(gè)數(shù)量級(jí)或更高一些[12]。最后實(shí)現(xiàn)時(shí),回讀/刷新的速率可以達(dá)到300 ms/次,這個(gè)速率遠(yuǎn)遠(yuǎn)大于翻轉(zhuǎn)率。

簡(jiǎn)單的故障注入(修改個(gè)別配置位)能夠驗(yàn)證功能的可靠性,然而如果應(yīng)用于航天器,則需要完備的統(tǒng)計(jì)結(jié)論。

對(duì)SEU緩解措施的評(píng)測(cè)瓶頸在于故障注入的方法。目前主流的故障注入方法有3種:

1)采用Jbits SDK軟件。該軟件工具是由Xilinx提供的一個(gè)Java類的集合,它為Xilinx Virtex系列FPGA提供配置位流的應(yīng)用接口(API),使得配置位流可以偽隨機(jī)或定位方式修改,從而達(dá)到整片故障注入的目的。

2)代碼仿真。采用VHDL等設(shè)計(jì)語(yǔ)言來(lái)仿真存儲(chǔ)器等相關(guān)部件(Latch、FF、Register、RAM)和組合邏輯節(jié)點(diǎn)中的SEU,具體可參考文獻(xiàn)[13-14]。這種方法的優(yōu)點(diǎn)在于故障注入?yún)?shù)靈活、周期短、對(duì)所有敏感部分均可自由訪問(wèn),但實(shí)現(xiàn)較復(fù)雜。

3)外部輻射模擬。外部輻射主要分為激光輻射和高能粒子輻射兩大類。無(wú)論哪種方案,首先需要去除芯片外殼封裝。激光能夠穿透較深的深度,且對(duì)器件不會(huì)有硬件損傷,但是不能穿透金屬工藝層,因此需要選用倒裝芯片;高能粒子束可以穿透金屬,目前北京大學(xué)的重離子實(shí)驗(yàn)室以及中國(guó)科學(xué)院蘭州高能物理研究所等均可以對(duì)正面打開封裝的FPGA進(jìn)行高能粒子輻射,但輻射深度有限,難以達(dá)到Virtex-II系列FPGA的敏感深度。

本文的SEU緩解設(shè)計(jì)方案目前正在中國(guó)科學(xué)院國(guó)家空間科學(xué)與應(yīng)用研究中心的激光效應(yīng)實(shí)驗(yàn)室進(jìn)行激光輻射注入評(píng)測(cè),完備的統(tǒng)計(jì)結(jié)論有待進(jìn)一步的計(jì)算和研究。

4 結(jié)束語(yǔ)

SRAM型 FPGA對(duì)單粒子翻轉(zhuǎn)敏感,其空間應(yīng)用必須進(jìn)行加固和容錯(cuò)設(shè)計(jì)。除通常采用的三模冗余及外部增加屏蔽層之外,本文提出用回讀比較進(jìn)行檢錯(cuò)、用刷新進(jìn)行糾錯(cuò)、用BRAM自糾錯(cuò)宏作為特殊處理方案的解決措施,在犧牲一定的器件性能的情況下,能達(dá)到較好的抗SEU效果,為航天電子產(chǎn)品抗單粒子翻轉(zhuǎn)設(shè)計(jì)提供了一種解決方案。

(References)

[1]邢克飛, 楊俊, 王躍科, 等.Xilinx SRAM型FPGA抗輻射設(shè)計(jì)技術(shù)研究[J].宇航學(xué)報(bào), 2007, 28(1): 123-129

Xing Kefei, Yang Jun, Wang Yueke, et al.Study on the anti-radiation technique for Xilinx SRAM-based FPGA[J].Journal of Astronautics, 2007, 28(1): 123-129

[2]馮彥君, 華更新, 楊樺周, 等.國(guó)外星載容錯(cuò)計(jì)算機(jī)技術(shù)及最新進(jìn)展[C]∥全國(guó)第十二屆空間及運(yùn)動(dòng)體控制技術(shù)學(xué)術(shù)會(huì)議論文集.北京: 中國(guó)自動(dòng)化學(xué)會(huì)空間及運(yùn)動(dòng)體控制專業(yè)委員會(huì), 2006: 452-457

[3]徐斌, 王貞松, 陳冰冰, 等.適用于空間環(huán)境下的FPGA容錯(cuò)與重構(gòu)體系[J].計(jì)算機(jī)工程, 2007, 33(3): 231-233

Xu Bin, Wang Zhensong, Chen Bingbing, et al.Architecture for fault-tolerance and reconfiguration of FPGA in aerospace[J].Computer Engineering, 2007,33(3): 231-233

[4]Xilinx Inc.Single-event upset mitigation for Xilinx FPGA block memories[EB/OL].(2008-03-14).http://www.xilinx.com/support/documentation/application_notes/xapp962.pdf

[5]張鈺, 鄭陽(yáng)明, 黃正亮, 等.皮衛(wèi)星星載計(jì)算機(jī)存儲(chǔ)模塊的容錯(cuò)結(jié)構(gòu)設(shè)計(jì)[J].宇航學(xué)報(bào), 2008, 29(6): 2057-2061

Zhang Yu, Zheng Yangming, Huang Zhengliang, et al.Fault-tolerant design of memory module for pica-satellite on-board computer[J].Journal of Astronautics, 2008,29(6): 2057-2061

[6]Xilinx Inc.Virtex-II platform FPGA user guide[EB/OL].(2007-11-05).http://www.xilinx.com/support/documentation/user_guides/ug002.pdf

[7]Xilinx Inc.Correcting single-event upsets in Virtex-II platform FPGA configuration memory[EB/OL],(2007-02-19).http://www.xilinx.com/support/documentation/application_notes/xapp779.pdf

[8]Carmichael C.SEU mitigation techniques for Virtex FPGAs in space applications[C]//Proc of 2ndMAPLD(poster paper), 1999: 24-34

[9]Bolchini C, Miele A, Santambrogio M D.TMR and partial dynamic recongurationto mitigate SEU faults in FPGAs[C]//Proc of 22ndIEEE International Symposium on Defect and Fault-tolerance in VLSI Systems.Washington D.C., USA, 2007: 87-95

[10]Xilinx Inc.Xilinx defense and aerospace presentation[EB/OL].[2011-10-06].http://www.xilinx.com/publications/prod_mktg/MilAero.pdf

[11]于慶奎, 張大宇, 張海明, 等.SRAM FPGA電離輻射效應(yīng)試驗(yàn)研究[J].航天器環(huán)境工程, 2009, 26(3): 229-231

Yu Qingkui, Zhang Dayu, Zhang Haiming, et al.Tests on total dose effects and single event effects on SRAM FPGA[J].Spacecraft Environment Engineering, 2009,26(3): 229-231

[12]Kastensmidt F L, Carro L, Reis R.Fault-tolerance techniques for SRAM-based FPGAs[M].Springer, 2006

[13]DeLong T A, Johnson B W, Profeta J A.A fault injection technique for VHDL behavioral-level models[J].IEEE Design & Test of Computers, 1996,13(4): 24-33

[14]Lima F, Rezgui S, Carro L.On the use of VHDL simulation and emulation to derive error rates[C]//Proceedings of European Conference on Radiation and Its Effects on Components and Systems, 2001: 253-260

猜你喜歡
抗輻射寄存器粒子
碘-125粒子調(diào)控微小RNA-193b-5p抑制胃癌的增殖和侵襲
基于膜計(jì)算粒子群優(yōu)化的FastSLAM算法改進(jìn)
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
每天面對(duì)電腦必吃的的七種抗輻射食物
Conduit necrosis following esophagectomy:An up-to-date literature review
二進(jìn)制翻譯中動(dòng)靜結(jié)合的寄存器分配優(yōu)化方法
移位寄存器及算術(shù)運(yùn)算應(yīng)用
基于粒子群優(yōu)化極點(diǎn)配置的空燃比輸出反饋控制
雪蓮培養(yǎng)物保健品制備及其功效研究
Lx5280模擬器移植設(shè)計(jì)及實(shí)施
沅江市| 望江县| 汝南县| 龙门县| 万年县| 白银市| 凯里市| 临汾市| 衡山县| 八宿县| 余姚市| 闵行区| 新干县| 宜州市| 延川县| 台湾省| 格尔木市| 泽州县| 闻喜县| 呼伦贝尔市| 岳阳市| 金乡县| 郎溪县| 海兴县| 雷山县| 东乡县| 鞍山市| 额济纳旗| 临沧市| 德清县| 温宿县| 扶沟县| 岫岩| 安丘市| 临泽县| 木兰县| 潮州市| 定边县| 改则县| 五峰| 新竹县|