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

?

基于SystemC參考模型的UVM驗(yàn)證平臺(tái)設(shè)計(jì)

2021-08-02 03:35:26汪永峰
關(guān)鍵詞:發(fā)送數(shù)據(jù)讀寫器覆蓋率

汪永峰,卜 剛

(南京航空航天大學(xué) 電子信息工程學(xué)院,江蘇 南京 211106)

0 引 言

當(dāng)下芯片驗(yàn)證技術(shù)已經(jīng)逐漸跟不上芯片設(shè)計(jì)的步伐,在完整的芯片研發(fā)過程中,芯片驗(yàn)證往往要占據(jù)整個(gè)芯片研發(fā)周期的70%以上[1]??梢姡诓唤档万?yàn)證要求的情況下,縮短驗(yàn)證時(shí)間可以有效地縮短芯片研發(fā)周期,加快芯片上市時(shí)間。

該文旨在以超高頻(ultra high frequency,UHF)射頻識(shí)別(radio frequency identification,RFID)數(shù)字基帶處理單元中讀寫器發(fā)送鏈路為例,設(shè)計(jì)一款可復(fù)用的驗(yàn)證平臺(tái)。由于SystemC語(yǔ)言可以用來(lái)搭建事務(wù)級(jí)、高抽象級(jí)的虛擬原型,并且其與SystemVerilog語(yǔ)言均支持事務(wù)級(jí)建模(transaction level models,TLM)通信機(jī)制,這為SystemC和UVM之間的通信提供了可能[2]。這里選用SystemC建模作為參考模型接入U(xiǎn)VM驗(yàn)證平臺(tái),將參考模型的輸出和寄存器傳輸級(jí)(register transformation level,RTL)設(shè)計(jì)的輸出進(jìn)行比對(duì)。SystemC語(yǔ)言更注重算法級(jí)的設(shè)計(jì),與更偏向于物理級(jí)的RTL相比擁有更快的仿真速度。并且將具有可重用、激勵(lì)隨機(jī)化等優(yōu)點(diǎn)的UVM與SystemC語(yǔ)言結(jié)合起來(lái),不僅提高了驗(yàn)證的全面性,還縮短了驗(yàn)證所需要花費(fèi)的時(shí)間。

1 UVM的優(yōu)勢(shì)

通用驗(yàn)證方法學(xué)(university verification methodology,UVM)是一個(gè)以SystemVerilog類庫(kù)為主體的驗(yàn)證平臺(tái)開發(fā)框架,為驗(yàn)證人員提供了一系列通用驗(yàn)證組件(university verification component,UVC),例如uvm_driver、uvm_monitor、uvm_agent等[3]??偟膩?lái)說,UVM之所以能夠得到廣大驗(yàn)證人員的青睞,是由于UVM驗(yàn)證方法學(xué)相比于其他的驗(yàn)證方法包含以下幾點(diǎn)優(yōu)勢(shì):

(1)UVM擁有自己的基類庫(kù),驗(yàn)證工程師可以利用繼承功能復(fù)用這些通用驗(yàn)證組件來(lái)構(gòu)建需要的驗(yàn)證環(huán)境,為驗(yàn)證平臺(tái)的搭建提供了便利,縮短了搭建驗(yàn)證平臺(tái)所需要的時(shí)間[4]。

(2)UVM搭建出來(lái)的驗(yàn)證平臺(tái)具有特有的結(jié)構(gòu),使得整個(gè)平臺(tái)層次清晰,代碼可讀性大大增加,也省去了工程師自己構(gòu)建驗(yàn)證結(jié)構(gòu)的時(shí)間[5]。

(3)UVM擁用屬于自己的運(yùn)行機(jī)制,通過phase機(jī)制使得仿真階段也變得層次化,不僅僅指的是不同phase之間的層次順序,也包含了不同組件中相同phase的層次化關(guān)系[6]。

(4)UVM擁有獨(dú)特的傳輸機(jī)制。TLM通信機(jī)制增強(qiáng)了UVM各個(gè)組件之間的獨(dú)立性,其端口種類繁多,為滿足不同的通信需求提供了基礎(chǔ)。同時(shí)由于SystemC同樣支持TLM通信,這為UVM與System C之間的通信提供了基礎(chǔ)[7]。

(5)UVM擁有自己獨(dú)特的重載和覆蓋機(jī)制,極大地提高了代碼的可重用性。

2 待測(cè)設(shè)計(jì)介紹

本次待測(cè)設(shè)計(jì)采用由Verilog編寫的UHF_RFID數(shù)字基帶處理單元中的讀寫器發(fā)送鏈路。該設(shè)計(jì)從ISO/IEC 18000-6C協(xié)議標(biāo)準(zhǔn)出發(fā),實(shí)現(xiàn)了讀寫器處理并發(fā)送,標(biāo)簽接收并處理的功能。如圖1所示,閱讀器發(fā)送側(cè)主要由七個(gè)模塊構(gòu)成,分別為時(shí)鐘模塊、計(jì)數(shù)模塊、并串轉(zhuǎn)換模塊、CRC校驗(yàn)碼生成模塊、異步FIFO模塊、PIE編碼模塊以及同步碼添加模塊。發(fā)送數(shù)據(jù)時(shí),首先需要通過計(jì)數(shù)模塊計(jì)算發(fā)送數(shù)據(jù)位數(shù)并判斷數(shù)據(jù)類型,為并串轉(zhuǎn)換及數(shù)據(jù)編碼做準(zhǔn)備,接著將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),傳遞到CRC校驗(yàn)碼生成模塊,生成數(shù)據(jù)的循環(huán)冗余校驗(yàn)(cyclic redundancy check,CRC)碼添加在數(shù)據(jù)尾部。根據(jù)數(shù)據(jù)類型的不同,閱讀器發(fā)送模塊的CRC校驗(yàn)分為CRC5和CRC16兩種類型,當(dāng)發(fā)送數(shù)據(jù)為Query命令類型時(shí),進(jìn)行CRC5校驗(yàn),其他類型則進(jìn)行CRC16校驗(yàn)。之后再將數(shù)據(jù)送入異步FIFO進(jìn)行緩存,接著對(duì)FIFO讀出的數(shù)據(jù)進(jìn)行PIE編碼,最后為其添加同步碼發(fā)送給標(biāo)簽[8]。

圖1 待測(cè)設(shè)計(jì)電路模型

而標(biāo)簽接收側(cè)主要由四個(gè)模塊構(gòu)成,分別為同步碼檢測(cè)模塊、PIE解碼模塊、CRC檢驗(yàn)碼檢測(cè)模塊以及串并轉(zhuǎn)換模塊。標(biāo)簽接收側(cè)完成的功能則和讀寫器發(fā)送側(cè)功能相反,數(shù)據(jù)首先通過同步碼檢測(cè)模塊,確定數(shù)據(jù)的位置并提取緊接在同步碼之后的正確數(shù)據(jù),隨后將接收到的數(shù)據(jù)傳遞到PIE解碼模塊進(jìn)行PIE解碼操作,將解碼后的數(shù)據(jù)按照接收數(shù)據(jù)命令類型的不同,分別進(jìn)行CRC5和CRC16校驗(yàn),校驗(yàn)成功后將串行數(shù)據(jù)恢復(fù)成并行數(shù)據(jù)。

2.1 編碼模塊設(shè)計(jì)

協(xié)議規(guī)定讀寫器發(fā)送鏈路的編碼方式為脈沖寬度編碼(pulse interval encoding,PIE)。通過定義數(shù)據(jù)-0和數(shù)據(jù)-1編碼后不同的碼元長(zhǎng)度來(lái)實(shí)現(xiàn),PIE編碼方式如圖2所示,編碼后0或1碼元的長(zhǎng)度主要取決于Tari和PW兩個(gè)參數(shù)。讀寫器對(duì)標(biāo)簽發(fā)信的基準(zhǔn)時(shí)間間隔為Tari,為一個(gè)0碼元持續(xù)的時(shí)間。這個(gè)值可以根據(jù)實(shí)際情況適當(dāng)修改,最佳讀寫器對(duì)標(biāo)簽Tari值如表1所示。PW的參數(shù)可以在0到Tari之間選取。從圖上可以看出碼元1的長(zhǎng)度為Tari+x,x的取值范圍為0.5tari到tari。

圖2 PIE編碼

表1 最佳讀寫器對(duì)標(biāo)簽Tari值

為方便編碼,在下面的設(shè)計(jì)和驗(yàn)證中,取x的值為Tari。因此,在PIE編碼中,0碼元被編碼為“10”序列,而1碼元被編碼為“1110”序列。

在PIE編碼模塊開始工作之前,首先要判斷CRC校驗(yàn)?zāi)K是否已經(jīng)開始工作并將校驗(yàn)后的數(shù)據(jù)寫入FIFO進(jìn)行數(shù)據(jù)緩沖,根據(jù)FIFO中有效數(shù)據(jù)的狀態(tài)決定是否進(jìn)行編碼操作,若FIFO已經(jīng)寫入超過一半數(shù)據(jù),則PIE編碼模塊開始工作,從異步FIFO中讀取數(shù)據(jù)并進(jìn)行編碼直到FIFO為空,表示已對(duì)全部數(shù)據(jù)進(jìn)行編碼。PIE編碼算法流程如圖3(1)所示。

圖3 PIE編解碼算法流程

2.2 解碼模塊設(shè)計(jì)

根據(jù)協(xié)議可知,在解碼時(shí),最重要的參數(shù)是RTcal,其值為一個(gè)數(shù)據(jù)-0與一個(gè)數(shù)據(jù)-1的長(zhǎng)度之和。由于數(shù)據(jù)-0和數(shù)據(jù)-1均由高電平和低電平兩個(gè)部分構(gòu)成,當(dāng)接收到的數(shù)據(jù)為有效數(shù)據(jù)時(shí),采用頻率高于碼元速率的時(shí)鐘分別對(duì)接收到數(shù)據(jù)的高低電平進(jìn)行采樣,得到數(shù)據(jù)a和數(shù)據(jù)b,并取RTcal值的一半為常量pivot,與a和b之和進(jìn)行對(duì)比,若a與b的和小于pivot,則接收到的數(shù)據(jù)為數(shù)據(jù)-0,反之接收到的數(shù)據(jù)為數(shù)據(jù)-1[9]。PIE解碼流程如圖3(2)所示。

根據(jù)協(xié)議標(biāo)準(zhǔn),在解碼時(shí),若接收到比4*RTcal長(zhǎng)的符號(hào)為不良數(shù)據(jù),因此在解碼時(shí),a與b還需滿足下列兩個(gè)條件:

(1)a+b<4*RTcal,即a+b<8*pivot

(2)0.625*Tari

3 驗(yàn)證平臺(tái)設(shè)計(jì)

3.1 實(shí)現(xiàn)基礎(chǔ)

SystemC和UVM驗(yàn)證平臺(tái)的搭建,其實(shí)現(xiàn)基礎(chǔ)是UVM Connect(UVMC)通信包,這個(gè)包集成了已有的SystemC和UVM的TLM通信標(biāo)準(zhǔn),使得UVM和SystemC之間TLM模型可以方便地實(shí)現(xiàn)通信并且不需要修改原本已有的代碼,降低了SC和UVM的TLM模型復(fù)用的難度。原有的TLM模型不再需要繼承其他的基類,而是通過外部代理的模式解決了這一問題,同時(shí)UVM一側(cè)的transaction類并不要求在factory中注冊(cè),減少了對(duì)factory機(jī)制的依賴。SV和SC兩側(cè)的transaction類并不要求完全一致,數(shù)據(jù)在SV和SC之間可以由各自的converter函數(shù)完成數(shù)據(jù)轉(zhuǎn)換,這樣的方式進(jìn)一步提高了原有TLM模型的復(fù)用性。

UVMC庫(kù)不僅提供了SystemC和SystemVerilog模型與組件之間的TLM1.0和TLM2.0連接方法,它還將UVM命令A(yù)PI方法輸出到SystemC一側(cè),用于從SystemC(C或C++)控制和訪問UVM仿真[10],這些API主要有以下幾個(gè)方面:

(1)等待UVM到一個(gè)特定的仿真階段。

(2)掛起或放下objection來(lái)控制UVM測(cè)試進(jìn)程。

(3)通過UVM config_db設(shè)置或得到配置的對(duì)象。

(4)通過config_db覆蓋類或?qū)嵗念愋汀?/p>

(5)打印UVM環(huán)境組件的拓?fù)浣Y(jié)構(gòu)。

對(duì)于SV和SC,在代碼中分別利用UVMC庫(kù)提供的類似的函數(shù)來(lái)完成相應(yīng)的TLM port的注冊(cè),在本設(shè)計(jì)中的注冊(cè)代碼如下:

SV TLM2:

uvmc_tlm#(my_transaction)::connect(mdl.out,“reader2tag”);

SC TLM2:

uvmc_connect(cons.in,“reader2tag”);

reader2tag是用來(lái)注冊(cè)該端口的字符串,在使用這些函數(shù)時(shí),UVMC會(huì)在SV和SC兩側(cè)都注冊(cè)端口的句柄和名字(reader2tag),而在后期連接階段,只要注冊(cè)端口的名字匹配,UVMC就會(huì)將這兩個(gè)端口連接起來(lái),而并不關(guān)心它們是什么語(yǔ)言。

3.2 驗(yàn)證組件設(shè)計(jì)

驗(yàn)證平臺(tái)的結(jié)構(gòu)框架如圖4所示,該驗(yàn)證平臺(tái)主要包含的組件及其對(duì)應(yīng)的功能如下所示:

圖4 驗(yàn)證平臺(tái)結(jié)構(gòu)

(1)interface:接口聲明,主要包含讀寫器需要發(fā)送的數(shù)據(jù)和命令接口,用于實(shí)現(xiàn)待測(cè)設(shè)計(jì)(design under test,DUT)和testbench之間的通信[11]。

(2)transaction:產(chǎn)生組件之間通信最基本的數(shù)據(jù)包,本設(shè)計(jì)中包含讀寫器需要發(fā)送的命令和數(shù)據(jù),由于需要預(yù)留8 bit用于儲(chǔ)存data_size,因此在transaction內(nèi)需要限制發(fā)送數(shù)據(jù)位寬不能超過120 bit,因此在transaction添加如下約束:

constraint data_cons{

data_in[127:120]== 8'h0;

}

(3)sequence:用于產(chǎn)生transaction,可以控制transaction的數(shù)量,以及對(duì)transaction進(jìn)行約束從而產(chǎn)生符合預(yù)期的激勵(lì)等[12]。

(4)sequencer:用于將sequence產(chǎn)生的數(shù)據(jù)包傳遞給driver。

(5)driver:負(fù)責(zé)驅(qū)動(dòng)transaction,將激勵(lì)分別通過virtual interface和seq_item_port送到DUT和reference model,本設(shè)計(jì)在driver中定義了一個(gè)覆蓋組,用于功能覆蓋率的統(tǒng)計(jì),主要包含對(duì)隨機(jī)輸入數(shù)據(jù)可能存在情況的覆蓋,由于傳輸數(shù)據(jù)位寬較大,用隨機(jī)的方法全部遍歷不太方便,因此對(duì)數(shù)據(jù)范圍進(jìn)行了劃分,設(shè)置各個(gè)范圍的最低覆蓋次數(shù)為1,并且對(duì)一些特殊情況、邊界情況進(jìn)行了覆蓋,確保DUT在所有情況下都能完成正常的功能[13]。覆蓋組定義代碼如下:

covergroup trans_cg;

data_cov: coverpoint req.data_in{

bins all1={18'h3ffff};

bins special1={18'h15555};

bins special2={18'h2aaaa};

bins data_0={[0:18'h03fff]};

bins data_1={[18'h04000:18'h07fff]};

bins data_2={[18'h08000:18'h0bfff]};

……

}

endgroup

(6)monitor:本設(shè)計(jì)中包含兩個(gè)monitor,一個(gè)從輸入虛接口獲取數(shù)據(jù)包,用于監(jiān)測(cè)driver發(fā)送給DUT的數(shù)據(jù)包,確保讀寫器接收到的數(shù)據(jù)包正確無(wú)誤,另一個(gè)從輸出虛接口獲取數(shù)據(jù)包,用于監(jiān)測(cè)標(biāo)簽最終輸出的數(shù)據(jù)包,并將其通過uvm_analysis_port傳遞給scoreboard進(jìn)行數(shù)據(jù)比對(duì)。monitor關(guān)鍵代碼如下:

task my_monitor::main_phase(uvm_phase phase);

while(1) begin

tr=new("tr");

collect_one_pkt(tr);

ap.write(tr);

end

endtask

task my_monitor::collect_one_pkt(my_transaction tr);

while(1) begin

@(posedge vif.clk);

if(vif.valid) break;

end

while(vif.valid) begin

tr.data_in=vif.data_in;

@(posedge vif.clk);

end

endtask

(7)agent:將driver和monitor以及sequencer封裝在一起,可以通過配置is_active和is_passive參數(shù)來(lái)選擇是否使用driver和sequencer[14],并在connect_phase中建立driver和sequencer之間的連接。

(8)scoreboard:分別接收out_agent和reference model傳遞來(lái)的數(shù)據(jù)作為期望結(jié)果和實(shí)際結(jié)果,并在scoreboard中將期望結(jié)果和實(shí)際結(jié)果進(jìn)行自動(dòng)比對(duì),若兩者一致,則數(shù)據(jù)傳輸正確,打印“Compare SUCCESSFULLY”表示數(shù)據(jù)對(duì)比成功,若兩者不一致,則數(shù)據(jù)傳輸錯(cuò)誤,打印“Compare FAILED”表示數(shù)據(jù)對(duì)比失敗,并分別打印出期望的結(jié)果和實(shí)際的結(jié)果以作對(duì)比。和driver類似,在scoreboard中也定義了一個(gè)覆蓋組,用于對(duì)接收到的數(shù)據(jù)統(tǒng)計(jì)功能覆蓋率。

(9)reference_model:該類在本設(shè)計(jì)中自身不對(duì)數(shù)據(jù)進(jìn)行任何操作,僅用于和SystemC語(yǔ)言編寫的真正參考模型進(jìn)行數(shù)據(jù)通信以及控制與SystemC參考模型間的事務(wù)數(shù)量。UVM側(cè)實(shí)現(xiàn)通信的關(guān)鍵代碼如下:

my_transaction pkt=new();

delay.set_abstime(3,1e-4);

port.get(pkt);

pkt.print();

out.b_transport(pkt,delay);

pkt.print();

ap.write(pkt);

(10)env:封裝in_agent、out_agent、scoreboard、reference_model并將它們?cè)赾onnect_phase中進(jìn)行連接,實(shí)現(xiàn)組件之間的數(shù)據(jù)通信。

(11)testbench:例化env,啟動(dòng)sequence。

(12)top:連接testbench和DUT,運(yùn)用config機(jī)制配置頂層接口連接,啟動(dòng)testcase。

(13)DUT:由Verilog語(yǔ)言編寫的UHF_RFID數(shù)字基帶處理單元讀寫器發(fā)送鏈路設(shè)計(jì),根據(jù)testbench送來(lái)的激勵(lì)產(chǎn)生相應(yīng)的輸出結(jié)果,并送往scoreboard做比對(duì)[15]。

(14)SC Ref Model:由SystemC編寫的UHF_RFID數(shù)字基帶處理單元讀寫器發(fā)送鏈路模型,由UVM Connect包將其接入testbench,根據(jù)testbench送來(lái)的激勵(lì)產(chǎn)生標(biāo)準(zhǔn)的輸出結(jié)果,并送往scoreboard做比對(duì)。SC側(cè)實(shí)現(xiàn)數(shù)據(jù)通信的關(guān)鍵代碼如下:

virtual void b_transport(T& t, sc_core::sc_time& delay) {

cout << sc_time_stamp() << " SC consumer executing packet:"

<< endl << " " << t << endl;

data_in=t.data_in;

cnt_en=1;

wait(40,SC_NS);

cnt_en=0;

wait(s2p_done.posedge_event());

t.data_in=data_out;

cout << sc_time_stamp() << " SC consumer packet executed:"

<< endl << " " << t << endl;

delay=SC_ZERO_TIME;

}

4 仿真結(jié)果

本設(shè)計(jì)使用synopsys公司的VCS軟件進(jìn)行最后的仿真驗(yàn)證,查看波形和計(jì)分板的打印輸出來(lái)判斷DUT的功能實(shí)現(xiàn)情況,并根據(jù)代碼覆蓋率和功能覆蓋率來(lái)判斷驗(yàn)證的完整性。

圖5為發(fā)送50個(gè)隨機(jī)數(shù)據(jù)產(chǎn)生的DUT頂層波形圖。在圖中隨機(jī)選取一時(shí)間點(diǎn)分析數(shù)據(jù),如圖所示,選取時(shí)間為82418316451ns,在此時(shí)間點(diǎn)讀寫器發(fā)送數(shù)據(jù)data_in為128’h008d_7334_626e_67ad_60db_4cb6_d1d3_536f,標(biāo)簽接收到數(shù)據(jù)寄存在rx_buf中,可見接收到的數(shù)據(jù)為128’h8d73_3462_6e67_ad60_db4c_b6d1_d35d_6f78,接收數(shù)據(jù)末八位8’h78指的是發(fā)送數(shù)據(jù)長(zhǎng)度,換算成10進(jìn)制為120,其余位為發(fā)送數(shù)據(jù),經(jīng)對(duì)比數(shù)據(jù)及數(shù)據(jù)長(zhǎng)度與實(shí)際發(fā)送數(shù)據(jù)一致,DUT功能正確。

圖5 仿真波形

任意截取一個(gè)數(shù)據(jù)包的仿真對(duì)比結(jié)果報(bào)告如圖6所示。圖中expect pkt是由SC參考模型輸出的數(shù)據(jù),其數(shù)值為128’he005_30e2_8907_2fa5_7f0a_0e90_f420_4078,actual pkt是由輸出數(shù)據(jù)monitor監(jiān)測(cè)DUT標(biāo)簽接收模塊輸出最終傳遞到scoreboard的數(shù)據(jù),其數(shù)值為128’h e005_30e2_8907_2fa5_7f0a_0e90_f420_4078,可見DUT得到的數(shù)據(jù)和參考模型相同。經(jīng)過scoreboard自動(dòng)比對(duì),最終通過并在報(bào)告中打印Compare SUCCESSFULLY,DUT功能正確。

圖6 仿真報(bào)告

仿真的代碼覆蓋率如圖7所示,可以看出DUT各個(gè)模塊的行(Line)覆蓋率、狀態(tài)機(jī)(FSM)覆蓋率、分支(Branch)覆蓋率均達(dá)到100%,滿足驗(yàn)證要求。

圖7 代碼覆蓋率

圖8為仿真的整體功能覆蓋率圖,功能覆蓋率達(dá)到100%,在該驗(yàn)證環(huán)境中共包含兩個(gè)覆蓋組,分別是發(fā)送數(shù)據(jù)功能覆蓋組trans_cg和接收數(shù)據(jù)功能覆蓋組rcv_cg。由于發(fā)送數(shù)據(jù)位寬較大,覆蓋所有可能的數(shù)據(jù)比較困難,所以在覆蓋組中,對(duì)數(shù)據(jù)的范圍進(jìn)行了劃分,共分為16個(gè)倉(cāng),并添加特殊數(shù)據(jù)情況下的覆蓋,16個(gè)倉(cāng)以及特殊數(shù)據(jù)均被覆蓋,覆蓋率達(dá)到100%。功能覆蓋組rsv_cg中共包含三個(gè)覆蓋點(diǎn),覆蓋點(diǎn)均被覆蓋,覆蓋率達(dá)到100%,滿足了功能驗(yàn)證要求。

圖8 功能覆蓋率

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

隨著芯片產(chǎn)業(yè)的快速發(fā)展,打造越來(lái)越多的中國(guó)芯是歷史的必然選擇,其中芯片驗(yàn)證的作用不可忽視。該文提出了一種基于SystemC和UVM的驗(yàn)證平臺(tái)設(shè)計(jì)方法,實(shí)現(xiàn)了SystemC和SystemVerilog之間的聯(lián)合仿真。選用高層次的System C語(yǔ)言進(jìn)行建模,建模時(shí)間短,仿真速度快,雖然前期搭建驗(yàn)證平臺(tái)可能需要耗費(fèi)的時(shí)間較長(zhǎng),但相對(duì)于整個(gè)驗(yàn)證周期,無(wú)疑極大地縮短了驗(yàn)證時(shí)間,提高了驗(yàn)證效率。設(shè)計(jì)的復(fù)雜程度越高,就越能看出該文提出的驗(yàn)證平臺(tái)設(shè)計(jì)方法所帶來(lái)的便利。

猜你喜歡
發(fā)送數(shù)據(jù)讀寫器覆蓋率
移動(dòng)自組網(wǎng)中MAC層協(xié)議研究
民政部等16部門:到2025年村級(jí)綜合服務(wù)設(shè)施覆蓋率超80%
我國(guó)全面實(shí)施種業(yè)振興行動(dòng) 農(nóng)作物良種覆蓋率超過96%
基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點(diǎn)性能分析
帶標(biāo)記方式的CRDSA++協(xié)議性能分析*
使用IPSec安全傳輸數(shù)據(jù)
基于噴丸隨機(jī)模型的表面覆蓋率計(jì)算方法
基于視頻抓拍讀寫器的高速公路防倒卡研究
基于覆蓋率驅(qū)動(dòng)的高性能DSP指令集驗(yàn)證方法
基于隨機(jī)時(shí)隙的RFID讀寫器防沖突方法
临桂县| 彩票| 拜泉县| 郴州市| 勐海县| 法库县| 怀化市| 饶河县| 南江县| 盘锦市| 安福县| 安岳县| 比如县| 云林县| 肃南| 区。| 麟游县| 从江县| 腾冲县| 巫溪县| 广元市| 牙克石市| 方山县| 酒泉市| 中山市| 招远市| 图们市| 平遥县| 平乐县| 正镶白旗| 榆林市| 永新县| 米脂县| 清河县| 扎赉特旗| 阳西县| 黔东| 海林市| 宁德市| 巢湖市| 仙桃市|