有些逻辑需要在关机期间保持活动状态,如Power Switch Cell、Retention Register Cells、Isolation Cells,他们就被称为Always-On Logic Cells。它可以不管voltage area的关断与否,一直保持常开的状态。
Always-On Logic Cell
它与普通cell的区别在于,多了一个secondary power pin,这个second power pin必须连在always on stripe上。通常由于它的面积很大,而且secondary pg pin又占绕线资源,所以一般很少用它。它一般加在feedthrough net上比较多,也可以加SRPG cell的control端或者isolation cell的enable端
feedthrough net
SRPG cell
isolation cell
UPF文件描述always on buffer,如下所示:
define_always_on_cell -cells { VIAONPTBUFF} \ buffer cell名字
-ground {GND} \ primary ground pin
-ground_switchable {GNDINT} \ secondary ground pin
-power {VDD} primary power pin
在这些Cell的Liberty格式描述中就会有一个属性“always-on”是true。同时对于Always-On Logic Cells,pg_pin描述一般都会有两组,primary和backup,工具看到该cell为Always On,就会把2组电源地都接到长开的电源/地上。
cell(buffer_type_AO) {
always_on : true;
pg_pin(VDD) {
voltage_name : VDD;
pg_type : primary_power;
}
pg_pin(VDDB) {
voltage_name : VDDB;
pg_type : backup_power;
}
pg_pin(VSS) {
voltage_name : VSS;
pg_type : primary_ground;
}
...
pin (A) {
related_power_pin : VDDB;
related_ground_pin : VSS;
}
pin (Y) {
function : "A";
related_power_pin : VDDB;
related_ground_pin : VSS;
power_down_function : "!VDDB + VSS";
}
...