(杭州電子科技大學微電子CAD研究所,浙江 杭州310018)
超高頻射頻識別系統(tǒng)在國外有廣泛應用,在我國處于起步階段。解析命令是超高頻RFID標簽芯片的必要功能,而解析命令頭是其中一個重要組成部分。本文根據(jù)RFID 超高頻的協(xié)議(ISO 18000-6C)[1],提出基于有限狀態(tài)機的命令頭解析方案,優(yōu)化命令頭解析部分的面積。根據(jù)協(xié)議的規(guī)定,命令頭的長度為2位、4位、8位或16位4種。4種命令分別為強制命令(mandatory commands)、可選命令(optional commands)、通用命令(custom commands)和私有命令(proprietary commands)。協(xié)議沒有明確規(guī)定命令數(shù)量,只要滿足11條強制命令即可視為符合協(xié)議規(guī)定。但是,只使用強制命令往往無法滿足需求,如引入認證加密等功能[2]。在有些超高頻標簽的設計中,指令數(shù)量可達28條[3]。常規(guī)方案用移位寄存器和組合邏輯[4-5]解析命令頭,需要將命令頭完整保存,寄存器數(shù)量有16個。而16位寄存器所能表達的狀態(tài)多達216,有較多冗余狀態(tài)。本文設定6組命令,分別用常規(guī)移位寄存器方案和新提出的有限狀態(tài)機方案,編寫Verilog 代碼,完成解析這6組命令令頭的功能,然后在Quartus II 中將這些代碼進行FPGA 綜合。綜合后的結果表明,有限狀態(tài)機方案有效。
常規(guī)方案使用移位寄存器和1位控制寄存器,用于對照。移位寄存器中的寄存器數(shù)量等于最長命令頭的長度。在寄存器數(shù)量不變且命令數(shù)量遠小于216時,組合邏輯電路的面積隨命令數(shù)呈線性增長。每新增一條命令,最多增加5個四輸入邏輯單元就能完成功能,平均只需增加2個四輸入邏輯單元。該方案的綜合結果作為對照標準。
本文先提出兩種有限狀態(tài)機方案,先提出比較通用的方案(不保留移位寄存器的有限狀態(tài)機),然后根據(jù)協(xié)議命令的特點提出針對性方案(保留移位寄存器的有限狀態(tài)機)。兩種方案都進行編碼、綜合、結果對比。
1.2.1 不保留移位寄存器的有限狀態(tài)機
從協(xié)議規(guī)定的命令可以發(fā)現(xiàn),命令的編碼方式類似二叉樹。其示意圖如圖1(a)所示,圓圈內(nèi)的數(shù)字表示有限狀態(tài)機當前狀態(tài),箭頭上的數(shù)字表示命令中新的一位。
新增一條命令只需在原有的樹數(shù)上新增分叉和狀態(tài)。重復使用此方法,將整組指令進行編碼。例如,需要在原模塊上新增命令頭101,而原先已經(jīng)有10 起始的命令頭,只要在收到第3位命令處增加一個分叉,并增加一個狀態(tài)3。新增加一條狀態(tài)時的添加的組合電路如圖1(b)所示,虛線方框內(nèi)是新增加的組合電路,新增3個邏輯單元和3個輸入端。輸入端A為新的分叉前整個狀態(tài)機的狀態(tài),其輸入信號數(shù)量與寄存器數(shù)量相同。輸入端B為命令新分叉的位置,用計數(shù)器確定。輸入端C為在新增狀態(tài)中,該位寄存器所處的狀態(tài)。
圖1 不保留移位寄存器有限狀態(tài)機的狀態(tài)跳轉(zhuǎn)示意及新增狀態(tài)時添加的額外電路
設需要解析的命令共k條。進行命令頭解析時,需要考慮命令失敗情況,因此有限狀態(tài)機共有(k+1)種狀態(tài)。寄存器數(shù)量Q為log2(k+1)。組合邏輯面積隨k 呈klog2(k)級別增長,增長速度較快,超過常規(guī)方案的線性增長。實際電路中,綜合工具會合并相同的邏輯,使組合邏輯電路面積下降。在寄存器數(shù)量增加的節(jié)點上,組合邏輯電路面積會出現(xiàn)跳變。
影響該方案電路面積的因素只有命令數(shù)量,與狀態(tài)分叉的位置無關。
1.2.2 保留移位寄存器的有限狀態(tài)機
從協(xié)議的命令分布發(fā)現(xiàn),相同長度的命令的區(qū)別主要在尾部,即狀態(tài)分叉的位置集中在最后幾位。用移位寄存器直接記錄尾部信息,就可以實現(xiàn)相同位數(shù)狀態(tài)機的功能。而移位寄存器所需的組合邏輯比有限狀態(tài)機少。根據(jù)命令長度特點,保留4個移位寄存器較為合理,只需要在命令的第2、4、8、12、16位進行狀態(tài)轉(zhuǎn)變。有限狀態(tài)機的狀態(tài)跳轉(zhuǎn)圖為多叉樹,如圖2所示。
圖2 保留移位寄存器有限狀態(tài)機的狀態(tài)跳轉(zhuǎn)圖及狀態(tài)描述
設需要解析的命令共k條,其中通用命令i條,私有命令j條。
用1個寄存器產(chǎn)生控制信號,控制命令解析的始末,4個寄存器作為移位寄存器。總寄存器數(shù)量為5+log2(2+i/16+j/16)。在沒有邏輯優(yōu)化的條件下,組合邏輯面積增長趨勢隨命令數(shù)k 呈klog2(k)增長。新增加1個狀態(tài)的所添加的組合邏輯電路,與前一種方案完全相同,如圖1(b)。由于每16條指令增加1個狀態(tài),增長趨勢僅為前一種設計的1/16。當k 較小時,組合邏輯的面積增長速度可以接受。
在不同命令數(shù)量下,通過對比各命令頭解析模塊綜合后的面積,確定有限狀態(tài)機解析命令頭的設計是否可行。6組命令的數(shù)量分別為12、16、19、24、28、32條。每組命令在前一組的基礎上新加入幾條命令。具體命令及各次對照中使用到的命令如表1所示。
表1 各組命令的具體內(nèi)容
使用Quartus II,采用面積優(yōu)先的綜合方式,進行FPGA 綜合。估算面積時,寄存器約為8門,4輸入邏輯單元約為2.2門,3輸入邏輯單元約為1.7門,2輸入邏輯單元約為1.2門,最終結果四舍五入精確到10 門。
6組命令3種方案可以得到18個面積數(shù)據(jù)。常規(guī)方案的綜合結果如表2所示。兩種有限狀態(tài)機方案的綜合結構分別如表3、表4所示。
表2 移位寄存器方案(常規(guī)方案) 綜合結果
表3 不保留移位寄存器的有限狀態(tài)機方案綜合結果
表4 保留移位寄存器有限狀態(tài)機方案(針對性方案) 綜合結果
在命令較少時,不保留移位寄存器的有限狀態(tài)機的方案可以優(yōu)化面積。在實現(xiàn)解析16、19、24、28條命令的功能時,該方案綜合后的面積比常規(guī)方案少40 門左右,減少15% 20%。命令更多或更少時,該方案沒有優(yōu)勢。
而保留移位寄存器的有限狀態(tài)機方案可以用較小的面積實現(xiàn)命令頭解析功能。在6組命令綜合后結果的對照下,該方案的面積比常規(guī)方案分別減少20、60、70、60、60、70門,減少的比例分別為15%、30%、33%、26%、24%、27%。綜上所述,保留移位寄存器的有限狀態(tài)機的設計方法可以使芯片面積減少15% 33%。
本文通過建立樹狀的狀態(tài)跳轉(zhuǎn)圖,用有限狀態(tài)機完成命令頭解析。保留4位移位寄存器的有限狀態(tài)機的方案充分考慮協(xié)議中的命令特點。當命令數(shù)量在12 32條時,本文方案綜合后的面積比常規(guī)方案減少15% 33%。使用本方案可以使超高頻標簽面積下降。這種設計方法能夠應用于一些非等長命令系統(tǒng)的解析,在工程上具有一定應用價值。
[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標簽數(shù)字電路設計與測試[D].天津:天津大學,2012:16-18.