(杭州電子科技大學(xué)微電子CAD研究所,浙江 杭州310018)
超高頻射頻識(shí)別系統(tǒng)在國(guó)外有廣泛應(yīng)用,在我國(guó)處于起步階段。解析命令是超高頻RFID標(biāo)簽芯片的必要功能,而解析命令頭是其中一個(gè)重要組成部分。本文根據(jù)RFID 超高頻的協(xié)議(ISO 18000-6C)[1],提出基于有限狀態(tài)機(jī)的命令頭解析方案,優(yōu)化命令頭解析部分的面積。根據(jù)協(xié)議的規(guī)定,命令頭的長(zhǎng)度為2位、4位、8位或16位4種。4種命令分別為強(qiáng)制命令(mandatory commands)、可選命令(optional commands)、通用命令(custom commands)和私有命令(proprietary commands)。協(xié)議沒有明確規(guī)定命令數(shù)量,只要滿足11條強(qiáng)制命令即可視為符合協(xié)議規(guī)定。但是,只使用強(qiáng)制命令往往無法滿足需求,如引入認(rèn)證加密等功能[2]。在有些超高頻標(biāo)簽的設(shè)計(jì)中,指令數(shù)量可達(dá)28條[3]。常規(guī)方案用移位寄存器和組合邏輯[4-5]解析命令頭,需要將命令頭完整保存,寄存器數(shù)量有16個(gè)。而16位寄存器所能表達(dá)的狀態(tài)多達(dá)216,有較多冗余狀態(tài)。本文設(shè)定6組命令,分別用常規(guī)移位寄存器方案和新提出的有限狀態(tài)機(jī)方案,編寫Verilog 代碼,完成解析這6組命令令頭的功能,然后在Quartus II 中將這些代碼進(jìn)行FPGA 綜合。綜合后的結(jié)果表明,有限狀態(tài)機(jī)方案有效。
常規(guī)方案使用移位寄存器和1位控制寄存器,用于對(duì)照。移位寄存器中的寄存器數(shù)量等于最長(zhǎng)命令頭的長(zhǎng)度。在寄存器數(shù)量不變且命令數(shù)量遠(yuǎn)小于216時(shí),組合邏輯電路的面積隨命令數(shù)呈線性增長(zhǎng)。每新增一條命令,最多增加5個(gè)四輸入邏輯單元就能完成功能,平均只需增加2個(gè)四輸入邏輯單元。該方案的綜合結(jié)果作為對(duì)照標(biāo)準(zhǔn)。
本文先提出兩種有限狀態(tài)機(jī)方案,先提出比較通用的方案(不保留移位寄存器的有限狀態(tài)機(jī)),然后根據(jù)協(xié)議命令的特點(diǎn)提出針對(duì)性方案(保留移位寄存器的有限狀態(tài)機(jī))。兩種方案都進(jìn)行編碼、綜合、結(jié)果對(duì)比。
1.2.1 不保留移位寄存器的有限狀態(tài)機(jī)
從協(xié)議規(guī)定的命令可以發(fā)現(xiàn),命令的編碼方式類似二叉樹。其示意圖如圖1(a)所示,圓圈內(nèi)的數(shù)字表示有限狀態(tài)機(jī)當(dāng)前狀態(tài),箭頭上的數(shù)字表示命令中新的一位。
新增一條命令只需在原有的樹數(shù)上新增分叉和狀態(tài)。重復(fù)使用此方法,將整組指令進(jìn)行編碼。例如,需要在原模塊上新增命令頭101,而原先已經(jīng)有10 起始的命令頭,只要在收到第3位命令處增加一個(gè)分叉,并增加一個(gè)狀態(tài)3。新增加一條狀態(tài)時(shí)的添加的組合電路如圖1(b)所示,虛線方框內(nèi)是新增加的組合電路,新增3個(gè)邏輯單元和3個(gè)輸入端。輸入端A為新的分叉前整個(gè)狀態(tài)機(jī)的狀態(tài),其輸入信號(hào)數(shù)量與寄存器數(shù)量相同。輸入端B為命令新分叉的位置,用計(jì)數(shù)器確定。輸入端C為在新增狀態(tài)中,該位寄存器所處的狀態(tài)。
圖1 不保留移位寄存器有限狀態(tài)機(jī)的狀態(tài)跳轉(zhuǎn)示意及新增狀態(tài)時(shí)添加的額外電路
設(shè)需要解析的命令共k條。進(jìn)行命令頭解析時(shí),需要考慮命令失敗情況,因此有限狀態(tài)機(jī)共有(k+1)種狀態(tài)。寄存器數(shù)量Q為log2(k+1)。組合邏輯面積隨k 呈klog2(k)級(jí)別增長(zhǎng),增長(zhǎng)速度較快,超過常規(guī)方案的線性增長(zhǎng)。實(shí)際電路中,綜合工具會(huì)合并相同的邏輯,使組合邏輯電路面積下降。在寄存器數(shù)量增加的節(jié)點(diǎn)上,組合邏輯電路面積會(huì)出現(xiàn)跳變。
影響該方案電路面積的因素只有命令數(shù)量,與狀態(tài)分叉的位置無關(guān)。
1.2.2 保留移位寄存器的有限狀態(tài)機(jī)
從協(xié)議的命令分布發(fā)現(xiàn),相同長(zhǎng)度的命令的區(qū)別主要在尾部,即狀態(tài)分叉的位置集中在最后幾位。用移位寄存器直接記錄尾部信息,就可以實(shí)現(xiàn)相同位數(shù)狀態(tài)機(jī)的功能。而移位寄存器所需的組合邏輯比有限狀態(tài)機(jī)少。根據(jù)命令長(zhǎng)度特點(diǎn),保留4個(gè)移位寄存器較為合理,只需要在命令的第2、4、8、12、16位進(jìn)行狀態(tài)轉(zhuǎn)變。有限狀態(tài)機(jī)的狀態(tài)跳轉(zhuǎn)圖為多叉樹,如圖2所示。
圖2 保留移位寄存器有限狀態(tài)機(jī)的狀態(tài)跳轉(zhuǎn)圖及狀態(tài)描述
設(shè)需要解析的命令共k條,其中通用命令i條,私有命令j條。
用1個(gè)寄存器產(chǎn)生控制信號(hào),控制命令解析的始末,4個(gè)寄存器作為移位寄存器??偧拇嫫鲾?shù)量為5+log2(2+i/16+j/16)。在沒有邏輯優(yōu)化的條件下,組合邏輯面積增長(zhǎng)趨勢(shì)隨命令數(shù)k 呈klog2(k)增長(zhǎng)。新增加1個(gè)狀態(tài)的所添加的組合邏輯電路,與前一種方案完全相同,如圖1(b)。由于每16條指令增加1個(gè)狀態(tài),增長(zhǎng)趨勢(shì)僅為前一種設(shè)計(jì)的1/16。當(dāng)k 較小時(shí),組合邏輯的面積增長(zhǎng)速度可以接受。
在不同命令數(shù)量下,通過對(duì)比各命令頭解析模塊綜合后的面積,確定有限狀態(tài)機(jī)解析命令頭的設(shè)計(jì)是否可行。6組命令的數(shù)量分別為12、16、19、24、28、32條。每組命令在前一組的基礎(chǔ)上新加入幾條命令。具體命令及各次對(duì)照中使用到的命令如表1所示。
表1 各組命令的具體內(nèi)容
使用Quartus II,采用面積優(yōu)先的綜合方式,進(jìn)行FPGA 綜合。估算面積時(shí),寄存器約為8門,4輸入邏輯單元約為2.2門,3輸入邏輯單元約為1.7門,2輸入邏輯單元約為1.2門,最終結(jié)果四舍五入精確到10 門。
6組命令3種方案可以得到18個(gè)面積數(shù)據(jù)。常規(guī)方案的綜合結(jié)果如表2所示。兩種有限狀態(tài)機(jī)方案的綜合結(jié)構(gòu)分別如表3、表4所示。
表2 移位寄存器方案(常規(guī)方案) 綜合結(jié)果
表3 不保留移位寄存器的有限狀態(tài)機(jī)方案綜合結(jié)果
表4 保留移位寄存器有限狀態(tài)機(jī)方案(針對(duì)性方案) 綜合結(jié)果
在命令較少時(shí),不保留移位寄存器的有限狀態(tài)機(jī)的方案可以優(yōu)化面積。在實(shí)現(xiàn)解析16、19、24、28條命令的功能時(shí),該方案綜合后的面積比常規(guī)方案少40 門左右,減少15% 20%。命令更多或更少時(shí),該方案沒有優(yōu)勢(shì)。
而保留移位寄存器的有限狀態(tài)機(jī)方案可以用較小的面積實(shí)現(xiàn)命令頭解析功能。在6組命令綜合后結(jié)果的對(duì)照下,該方案的面積比常規(guī)方案分別減少20、60、70、60、60、70門,減少的比例分別為15%、30%、33%、26%、24%、27%。綜上所述,保留移位寄存器的有限狀態(tài)機(jī)的設(shè)計(jì)方法可以使芯片面積減少15% 33%。
本文通過建立樹狀的狀態(tài)跳轉(zhuǎn)圖,用有限狀態(tài)機(jī)完成命令頭解析。保留4位移位寄存器的有限狀態(tài)機(jī)的方案充分考慮協(xié)議中的命令特點(diǎn)。當(dāng)命令數(shù)量在12 32條時(shí),本文方案綜合后的面積比常規(guī)方案減少15% 33%。使用本方案可以使超高頻標(biāo)簽面積下降。這種設(shè)計(jì)方法能夠應(yīng)用于一些非等長(zhǎng)命令系統(tǒng)的解析,在工程上具有一定應(yīng)用價(jià)值。
[1]ISO/IEC:18000-63,Information technology—Radio frequency identification for item management—Part 63:Parameters for air interface communications at 860 MHz to 960 MHz TypeC[S].
[2]Ertl J,Plos T,F(xiàn)eldhofer M,et al.A Security-enhanced UHF RFID Tag Chip[C].Los Alamitos:Digital symstem Design(DSD),2013:705-712.
[3]Palma J C S,Marcon C A M,Hessel F,et al.A Passive 915 MHz UHF RFID Tag[C].Sam Jose:International Symposium on Quality Electronic Design,2008:348-351.
[4]Rodríguez-Rodríguey J A,Delgado-Restituto M,Masuch J,et al.Am ultralow-power mixed-signal back end for passive sensor UHF RFID transponders[J].Industrial Electronics,IEEE Transactions on,2012,59(2):1 310-1 322.
[5]徐凱.無源UHF RFID標(biāo)簽數(shù)字電路設(shè)計(jì)與測(cè)試[D].天津:天津大學(xué),2012:16-18.