99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

以Virtex5開(kāi)發(fā)板和SPI FLASH為基礎(chǔ)的FPGA多重配置分析

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2018-12-04 08:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

現(xiàn)代硬件程序設(shè)計(jì)規(guī)模越來(lái)越大,功能越來(lái)越復(fù)雜,當(dāng)多個(gè)應(yīng)用程序同時(shí)在一個(gè)硬件平臺(tái)上實(shí)現(xiàn)時(shí),各個(gè)程序的資源使用和數(shù)據(jù)通路可能會(huì)沖突,這增加了控制電路設(shè)計(jì)的復(fù)雜程度,給開(kāi)發(fā)人員增加了工作量和開(kāi)發(fā)難度。通過(guò)多重配置,可以將多個(gè)應(yīng)用程序根據(jù)需要分時(shí)加載到FPGA 中,不僅精簡(jiǎn)了電路設(shè)計(jì),而且使系統(tǒng)更加靈活。FPGA 多重配置的特點(diǎn)可以讓特定條件下的用戶選擇片上資源不多的FPGA 去實(shí)現(xiàn)需要很多資源FPGA 才能實(shí)現(xiàn)的功能,這大大降低了開(kāi)發(fā)費(fèi)用,同時(shí)提高了FPGA的利用率。

Xilinx 公司Virtex5 系列的FPGA 具有多重配置的特性,允許用戶在不掉電重啟的情況下,根據(jù)不同時(shí)刻的需求,可以從FLASH 中貯存的多個(gè)比特文件選擇加載其中的一個(gè),實(shí)現(xiàn)系統(tǒng)功能的變換。

1 總體設(shè)計(jì)

當(dāng)FPGA完成上電自動(dòng)加載初始化的比特流后,可以通過(guò)觸發(fā)FPGA內(nèi)部的多重啟動(dòng)事件使得FPGA從外部配置存儲(chǔ)器(SPI FLASH)指定的地址自動(dòng)下載一個(gè)新的比特流來(lái)重新配置。FPGA 的多重配置可以通過(guò)多種方式來(lái)實(shí)現(xiàn)。本文采用的是基于ICAP核的狀態(tài)機(jī)編碼方式。通過(guò)調(diào)用Xilinx 自帶的ICAP 核,編寫(xiě)狀態(tài)機(jī)按照一定的指令流程對(duì)ICAP核進(jìn)行不斷的配置,可以控制FPGA 重新配置。這種方式可以在源代碼中加很多注釋?zhuān)尯髞?lái)的開(kāi)發(fā)者很清楚地明白ICAP核指令流順序,以及多重配置地址計(jì)算方法,是一種簡(jiǎn)單實(shí)用的實(shí)現(xiàn)方法。

1.1 硬件電路

多重配置的硬件主要包括FPGA 板卡和貯存配置文件的FLASH 芯片。FPGA 選用XILINX 公司Virtex-5系列中的ML507,該產(chǎn)品針對(duì)FPGA多重配置增加了專(zhuān)用的內(nèi)部加載邏輯。FLASH 芯片選用XILINX 公司的SPI FLASH 芯片M25P32,該芯片存貯空間為32 Mb,存貯文件的數(shù)量與文件大小以及所使用的FPGA 芯片有關(guān)。實(shí)現(xiàn)多重配置首先要將FPGA 和外部配置存儲(chǔ)器連接為從SPI FLASH 加載配置文件的模式。配置電路硬件連接框圖如圖1所示。

以Virtex5開(kāi)發(fā)板和SPI FLASH為基礎(chǔ)的FPGA多重配置分析

在FPGA配置模式中,M2,M1,M0為0,0,1,這種配置模式對(duì)應(yīng)邊界掃描加上拉,F(xiàn)PGA在這種模式下所有的I/O只在配置期間有效。在配置完成后,不用的I/O將被浮空[5].M2,M1,M0 三個(gè)選擇開(kāi)關(guān)對(duì)應(yīng)于ML507 開(kāi)發(fā)板上的SW3開(kāi)關(guān)中的4,5,6位,在FPGA上電之前將上述開(kāi)關(guān)撥為0,0,1狀態(tài)。

1.2 軟件設(shè)計(jì)

從軟件設(shè)計(jì)的角度可以將FPGA 多重配置主要分為兩個(gè)部分。第一部分是用戶自己開(kāi)發(fā)的程序,這一部分包括用戶要在FPGA上邊實(shí)現(xiàn)的功能,同時(shí)也包括為重載模塊提供時(shí)鐘信號(hào),以及觸發(fā)信號(hào),本文觸發(fā)信號(hào)是通過(guò)用戶程序編寫(xiě)串口通信協(xié)議棧來(lái)接收PC端傳輸?shù)臄?shù)字作為觸發(fā)信號(hào)。第二部分是FPGA 重載配置模塊。FPGA多重配置首先要調(diào)用ICAP核,當(dāng)滿足觸發(fā)條件后,采用狀態(tài)機(jī)編碼的方式對(duì)ICAP 核進(jìn)行賦值配置。FPGA多重配置的軟件結(jié)構(gòu)圖如圖2所示。

以Virtex5開(kāi)發(fā)板和SPI FLASH為基礎(chǔ)的FPGA多重配置分析

FPGA多重配置的軟件結(jié)構(gòu)圖如圖2所示。

重載模塊首先要調(diào)用ICAP核。ICAP原語(yǔ)在Xilinx的編譯軟件ISE 中調(diào)用,調(diào)用路徑為Edit → LanguageTemplates,VHDL/Verilog → Device Primitive Instantia-tion→Virtex5FPGA → Config/BSCAN Components→ In-ternal Config Access Por(t ICAP_VIRTEX5)。

ICAP_VIRTEX5調(diào)用接口如下:

以Virtex5開(kāi)發(fā)板和SPI FLASH為基礎(chǔ)的FPGA多重配置分析

ICAP 核支持X8,X16,X32 三種數(shù)據(jù)帶寬模式。在整個(gè)FPGA 重配置的過(guò)程中并沒(méi)有用到ICAP核的輸出,因此在重載模塊的狀態(tài)機(jī)控制程序中不關(guān)注BUSY,O 信號(hào)的值,可以不對(duì)它們賦值。用戶程序在使用接口時(shí)只需對(duì)CE,CLK,I,WRITE4個(gè)信號(hào)不斷賦值來(lái)發(fā)送命令。

在調(diào)用了ICAP核接口之后,通過(guò)Verilog編碼的方式實(shí)現(xiàn)狀態(tài)機(jī)。通過(guò)狀態(tài)機(jī)發(fā)送IPROG指令給ICAP 核,ICAP 核在接收到這些指令后會(huì)根據(jù)指定的地址自動(dòng)加載配置文件。

IPROG 指令的作用是對(duì)FPGA 芯片進(jìn)行復(fù)位操作,該復(fù)位操作對(duì)FPGA 內(nèi)部的應(yīng)用程序進(jìn)行復(fù)位,復(fù)位過(guò)程中除專(zhuān)用配置管腳和JTAG 管腳,其他輸入/輸出管腳均為高阻態(tài)。完成復(fù)位操作后,將默認(rèn)的加載地址用熱啟動(dòng)地址寄存器(Warm Boot Start Address,WB-STAR)中的新地址替換。

在發(fā)送IPROG 指令之前,需要對(duì)ICAP核進(jìn)行預(yù)配置。重載控制模塊在收到觸發(fā)信號(hào)后,第一個(gè)時(shí)鐘周期將ICAP 核的WRITE 信號(hào)和CE 信號(hào)置高,第二個(gè)周期將WRITE 信號(hào)置底,CE 信號(hào)置高,第三個(gè)周期將WRITE信號(hào)置底,CE信號(hào)也置底。接著在下面的8 個(gè)時(shí)鐘周期里,將指令隊(duì)列中的控制命令逐個(gè)發(fā)出。狀態(tài)機(jī)指令流程如圖3所示。

以Virtex5開(kāi)發(fā)板和SPI FLASH為基礎(chǔ)的FPGA多重配置分析

在狀態(tài)機(jī)發(fā)送IPROG 指令的過(guò)程中,為了保證ICAP 核接收到正確的指令,每一個(gè)發(fā)送出去的命令和數(shù)據(jù)必須遵循SelectMAP數(shù)據(jù)順序。SelectMAP數(shù)據(jù)順序是將每個(gè)指令都按字節(jié)劃分,劃分后每個(gè)字節(jié)的數(shù)據(jù)都按比特位翻轉(zhuǎn)。如果為“X32”模式,則劃分為4個(gè)字節(jié),每個(gè)字節(jié)進(jìn)行位翻轉(zhuǎn)。圖4 以“X16”為例說(shuō)明Se-lectMAP數(shù)據(jù)順序。

以Virtex5開(kāi)發(fā)板和SPI FLASH為基礎(chǔ)的FPGA多重配置分析

當(dāng)狀態(tài)機(jī)從用戶程序接收到一個(gè)觸發(fā)條件后,會(huì)發(fā)送一系列如圖3所示的IPROG 命令。Verilog編碼實(shí)現(xiàn)狀態(tài)機(jī)的過(guò)程中,必須按照?qǐng)D3給出的指令順序發(fā)送這些IPROG命令,否則無(wú)法正確的與ICAP核通信。同時(shí)這些指令都具有自己特殊的定義而且必須服從Select-MAP 數(shù)據(jù)順序,否則無(wú)法通信。IPROG 指令的具體定義及說(shuō)明如表1所示。

以Virtex5開(kāi)發(fā)板和SPI FLASH為基礎(chǔ)的FPGA多重配置分析

在上述配置指令過(guò)程中,第五步Warm Boot StartAddress Register(WBSTAR)指定了滿足觸發(fā)條件的比特流在SPI FLASH中的起始地址,WBSTAR被賦值的地址必須和即將配置的bit流在SPI FLASH中的物理位置相同,否則FPGA就無(wú)法從外部讀取bit流。WBSTAR被賦值的數(shù)值都是提前根據(jù)程序的要求計(jì)算好的。計(jì)算WBSTAR值的時(shí)候需要了解WBSTAR寄存器每一位的具體含義,如圖5所示。

以Virtex5開(kāi)發(fā)板和SPI FLASH為基礎(chǔ)的FPGA多重配置分析

WBSTAR寄存器共31位,高三位是保留位,RS[1:0]

兩位指定了可以多重配置的bit流的個(gè)數(shù)。RS_TS_B是RS[1:0]的使能信號(hào):0 表示Disabled,1 表示Enabled.

START_ADDR表示要回讀的比特流在外部配置存儲(chǔ)器的起始地址。狀態(tài)機(jī)在對(duì)WBSTAR 進(jìn)行賦值時(shí),要根據(jù)自己選擇的bit流個(gè)數(shù)以及對(duì)應(yīng)各個(gè)bit流在外部配置存儲(chǔ)器貯存的地址自行計(jì)算WBSTAR地址。這里以4個(gè)bit流為例說(shuō)明WBSTAR地址的計(jì)算方法,如表2所示。狀態(tài)機(jī)使用的地址是服從SelectMAP數(shù)據(jù)順序的地址。FPGA 專(zhuān)用配置邏輯在收到IPROG 指令后,開(kāi)始執(zhí)行內(nèi)部復(fù)位操作(JATG 管角和重載控制部分不進(jìn)行復(fù)位操作),擦除板卡上原有的程序,從FLASH 芯片中WBSTAR 所指向的起始地址開(kāi)始讀取新配置文件完成FPGA的重配置。

以Virtex5開(kāi)發(fā)板和SPI FLASH為基礎(chǔ)的FPGA多重配置分析

2 多重配置的實(shí)現(xiàn)

Xilinx系列的FPGA 需要將后綴名為mcs的內(nèi)存鏡像文件固化到外部配置存儲(chǔ)器中,F(xiàn)PGA上電后才能自動(dòng)加載配置文件。一般的mcs文件只包含一個(gè)bit流文件,多重啟動(dòng)的固化文件(。mcs)包含多bit流文件。在將多個(gè)bit流整合到mcs 文件的過(guò)程中,需要指定每個(gè)bit流的起始地址,這樣FPGA專(zhuān)用配置邏輯才能根據(jù)地址找到對(duì)應(yīng)的bit流。首先將用戶開(kāi)發(fā)的應(yīng)用程序和重載控制模塊添加到一個(gè)工程當(dāng)中,利用ISE編譯軟件生成位流文件(。bit)。由于Virtex5 系列器件本身的特性,一般情況下生產(chǎn)的bit 流文件大約為3 300 KB,而SPIFLASH 的容量為32 Mb 即4 MB,這個(gè)容量無(wú)法滿足在一個(gè)SPI FLASH 上貯存多個(gè)bit流文件,需要對(duì)生成的bit流進(jìn)行壓縮。在用ISE 軟件生成bit流文件時(shí),當(dāng)完成了Synthesize-XST以及Implement Design后,執(zhí)行到最后一步Generate Programming File時(shí),在Process Proper-ties 中General Options 選項(xiàng)中勾選Enable BitstreamCompression.通過(guò)這個(gè)壓縮設(shè)置可以對(duì)bit 流進(jìn)行壓縮,壓縮后的bit流大約在500~600 KB 之間,可以滿足在一個(gè)容量為32 Mb的SPI FLASH上貯存多個(gè)bit流文件。其次將需要進(jìn)行重配置的多個(gè)位流文件拷貝至一個(gè)工程目錄下,有兩種方法可以將多個(gè)bit流整合為一個(gè)mcs文件。第一種方法是通過(guò)ISE 編譯軟件的命令行窗口,使用命令行命令將多個(gè)位流文件合并為一個(gè)FLASH 存貯芯片M25P32 中燒寫(xiě)的內(nèi)存鏡像文件(。mcs)。第二種方法是用Impact 軟件創(chuàng)建MultibootSPI FLASH,選擇相應(yīng)的FPGA 型號(hào)和FLASH 的容量以及要包含的bit 流的個(gè)數(shù)(版本的個(gè)數(shù))。本文使用第一種方法來(lái)將多個(gè)bit 流文件形成一個(gè)內(nèi)存鏡像文件(。mcs)。使用promgen 命令的具體格式為:

promgen -spi -pmcs -oMulitBoot.mcs-s4096 -u0rev0.bit -u100000rev1.bit -u200000rev0.bit -u300000rev0.bit命令中各參數(shù)的說(shuō)明如下所述。-spi:表示生成的mcs文件要固化到SPI FLASH中;-p mcs:生成文件的格式是mcs格式;-o ML507.mcs:要生成的文件名,可以根據(jù)需要修改;-s 4096:定義了外部存儲(chǔ)器的容量,4096 表示32 Mb;- u 0rev0.bit:表示名字為rev0 的比特流文件在外部存儲(chǔ)器的起始地址為0;-u 100000 rev1.bit:表示名字為rev1的比特流文件在外部貯存的起始地址為100000.在生成mcs 文件后,通過(guò)IM-PACT 軟件將mcs 文件固化到SPI FLASH 中。

FPGA 上電自動(dòng)從外部SPI FLASH 加載一個(gè)初始化的bit流,當(dāng)需要執(zhí)行新的程序時(shí),會(huì)根據(jù)觸發(fā)條件以及啟動(dòng)地址重新配置。在實(shí)驗(yàn)中,通過(guò)PC機(jī)串口終端發(fā)送指令當(dāng)做觸發(fā)條件實(shí)現(xiàn)多重配置。在實(shí)際應(yīng)用中,還可以根據(jù)具體硬件實(shí)現(xiàn),采用其他通信方式傳送控制指令來(lái)進(jìn)行觸發(fā)。

3 結(jié)語(yǔ)

本文通過(guò)硬件電路和軟件設(shè)計(jì)兩個(gè)方面對(duì)FPGA的多重配置方法進(jìn)行了詳細(xì)介紹,本文所介紹的多重配置方法靈活方便、易于操作、電路簡(jiǎn)單,在工程中有很高的應(yīng)用價(jià)值,同時(shí)關(guān)于bit流壓縮的方法也值得參考。

聲明:本文內(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)注

    1645

    文章

    22050

    瀏覽量

    618568
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7653

    瀏覽量

    167423
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2185

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    基于SPI FLASHFPGA多重配置

    通過(guò)FPGA多重配置可以有效地精簡(jiǎn)控制結(jié)構(gòu)的設(shè)計(jì),同時(shí)可以用邏輯資源較少的FPGA器件實(shí)現(xiàn)需要很大資源才能實(shí)現(xiàn)的程序。Virtex5系列
    發(fā)表于 01-24 14:17 ?1.6w次閱讀
    基于<b class='flag-5'>SPI</b> <b class='flag-5'>FLASH</b>的<b class='flag-5'>FPGA</b><b class='flag-5'>多重配置</b>

    揭秘FPGA多重配置硬件電路設(shè)計(jì)方案

    當(dāng)FPGA 完成上電自動(dòng)加載初始化的比特流后,可以通過(guò)觸發(fā)FPGA 內(nèi)部的多重啟動(dòng)事件使得FPGA 從外部配置存儲(chǔ)器(
    發(fā)表于 02-02 11:09 ?1519次閱讀
    揭秘<b class='flag-5'>FPGA</b><b class='flag-5'>多重配置</b>硬件電路設(shè)計(jì)方案

    中端FPGA開(kāi)發(fā)板

    。 Lattice公司最近還發(fā)布了一個(gè)針對(duì)其最新SC系統(tǒng)級(jí)芯片系列FPGA器件的開(kāi)發(fā)板。該開(kāi)發(fā)板配有一款該系列產(chǎn)品中更大的一款芯片SC25,該芯片采用900引腳的小間距BGA封裝。這款開(kāi)發(fā)板
    發(fā)表于 04-27 14:40

    誰(shuí)有Virtex5 FPGA到TI公司64系列的EMIF設(shè)計(jì)文檔??

    誰(shuí)有Virtex5 FPGA到TI公司64系列的EMIF設(shè)計(jì)文檔??如果有的話,發(fā)給我一下,多謝啦
    發(fā)表于 11-22 15:24

    求xilinx virtex5例程

    剛剛學(xué)習(xí)FPGA,不知道怎么用virtex5,想看看例程,網(wǎng)上找不到,想問(wèn)問(wèn)各位大神,能給給看看么
    發(fā)表于 12-03 21:56

    IDDR最大速度virtex5 sx95t

    嗨,我想在FPGA中捕獲串行ADC樣本。我將ADS5281(12位,50Msps)連接到Virtex5 SX95T。ADC時(shí)鐘和數(shù)據(jù)饋入Virtex5中的iDDR。如果adc時(shí)鐘低至120 MHz
    發(fā)表于 04-17 09:26

    Virtex5無(wú)法正確讀取XCF32P是為什么?

    Virtex5無(wú)法正確讀取XCF32P。 Impact可以編程到PROM和VIRTEX5,但是當(dāng)Virtex5上電時(shí),看起來(lái)PROM只在D0上輸出串行數(shù)據(jù),D1..D7高電平(3.3
    發(fā)表于 05-27 13:35

    virtex5與部分重新配置教程?

    嗨,我是學(xué)生 我嘗試使用virtex5與部分重新配置教程UG702,但本教程設(shè)計(jì)virtex6(ML605)所以我需要修復(fù)它
    發(fā)表于 06-16 07:28

    SPI方式FPGA配置SPI flash編程

    SPI方式FPGA配置SPI flash編程
    發(fā)表于 05-16 18:01 ?165次下載
    <b class='flag-5'>SPI</b>方式<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>和<b class='flag-5'>SPI</b> <b class='flag-5'>flash</b>編程

    Virtex5 FPGA在ISE + Planahead上部分可重構(gòu)功能的流程和技術(shù)要點(diǎn)

    部分可重構(gòu)技術(shù)是Xilinx FPGA的一項(xiàng)重要開(kāi)發(fā)流程。本文結(jié)合Virtex5 FPGA,詳細(xì)講解在ISE + Planahead上完成部分可重構(gòu)功能的流程和技術(shù)要點(diǎn)。
    的頭像 發(fā)表于 07-04 02:17 ?4255次閱讀
    <b class='flag-5'>Virtex5</b> <b class='flag-5'>FPGA</b>在ISE + Planahead上部分可重構(gòu)功能的流程和技術(shù)要點(diǎn)

    FPGA多重配置硬件電路的原理及其設(shè)計(jì)方案的介紹

    工作效率。通過(guò)FPGA多重配置可以有效地精簡(jiǎn)控制結(jié)構(gòu)的設(shè)計(jì),同時(shí)可以用邏輯資源較少的FPGA 器件實(shí)現(xiàn)需要很大資源才能實(shí)現(xiàn)的程序。Virtex
    發(fā)表于 10-12 17:57 ?16次下載

    FPGA開(kāi)發(fā)板使用和配置方式

    本節(jié)旨在通過(guò)給定的工程實(shí)例“按鍵開(kāi)關(guān)控制LED”來(lái)熟悉Xilinx ISE軟件的基本操作、設(shè)計(jì)、編譯及仿真流程。同時(shí)使用基于Xilinx FPGA開(kāi)發(fā)板將該實(shí)例進(jìn)行下載、驗(yàn)證及調(diào)試,完成工程設(shè)計(jì)的硬件實(shí)現(xiàn),熟悉Xilinx FPGA
    發(fā)表于 11-22 15:31 ?7199次閱讀

    digilent Virtex-5 FPGA開(kāi)發(fā)板簡(jiǎn)介

    Genesys Virtex-5 FPGA開(kāi)發(fā)板集成了功能強(qiáng)大的Xilinx Virtex?-5 FPG
    的頭像 發(fā)表于 11-14 17:01 ?4987次閱讀
    digilent <b class='flag-5'>Virtex-5</b> <b class='flag-5'>FPGA</b><b class='flag-5'>開(kāi)發(fā)板</b>簡(jiǎn)介

    fpga開(kāi)發(fā)板是什么?fpga開(kāi)發(fā)板有哪些?

    FPGA開(kāi)發(fā)板是一種基于FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)技術(shù)的開(kāi)發(fā)平臺(tái),它允許工程師通過(guò)編程來(lái)定義和配置FP
    的頭像 發(fā)表于 03-14 18:20 ?3358次閱讀

    【GD32F303紅楓派開(kāi)發(fā)板使用手冊(cè)】第二十講 SPI-SPI NAND FLASH讀寫(xiě)實(shí)驗(yàn)

    通過(guò)本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?SPI通信協(xié)議,參考19.2.1東方紅開(kāi)發(fā)板使用手冊(cè) ?GD32F303 SPI操作方式,參考19.2.2東方紅開(kāi)發(fā)板使用手冊(cè) ?NAND
    的頭像 發(fā)表于 06-20 09:50 ?1910次閱讀
    【GD32F303紅楓派<b class='flag-5'>開(kāi)發(fā)板</b>使用手冊(cè)】第二十講 <b class='flag-5'>SPI-SPI</b> NAND <b class='flag-5'>FLASH</b>讀寫(xiě)實(shí)驗(yàn)