non-global control signal
时间:10-02
整理:3721RD
点击:
Altera cyclone IV 编译时,fitter出现如下错误提示
Error (176337): Cell XXXX fed by 5 non-global control signals -- only 4 control signals may be non-global
xxxx信号是prdata信号打一拍得到,prdata信号则是case组合逻辑得到。
case(paddr)
PA_LC_SN: prdata = LC_SN;
PA_LEDBDID: prdata = LEDBDID;
PA_DNA_ID0: prdata = DNA_ID0;
PA_DNA_ID1: prdata = DNA_ID1;
PA_DNA_ID2: prdata = DNA_ID2;
PA_DNA_ID3: prdata = DNA_ID3;
PA_SCAN_DATA_L: prdata = scanbuf_dat_l_out;
default:prdata = buf_dat_out;
其中DNA_ID0、DNA_ID1、DNA_ID2、DNA_ID3是只声明了,但是没有生成逻辑的。
后来,在prdata声明的时候,加上了一句/* synthesis keep */,再次编译就不会报错。
在此请教路过的各位大神,这种现象怎么解释?加上的这句综合语句是解决non-global control signals的根本方法吗?
Error (176337): Cell XXXX fed by 5 non-global control signals -- only 4 control signals may be non-global
xxxx信号是prdata信号打一拍得到,prdata信号则是case组合逻辑得到。
case(paddr)
PA_LC_SN: prdata = LC_SN;
PA_LEDBDID: prdata = LEDBDID;
PA_DNA_ID0: prdata = DNA_ID0;
PA_DNA_ID1: prdata = DNA_ID1;
PA_DNA_ID2: prdata = DNA_ID2;
PA_DNA_ID3: prdata = DNA_ID3;
PA_SCAN_DATA_L: prdata = scanbuf_dat_l_out;
default:prdata = buf_dat_out;
其中DNA_ID0、DNA_ID1、DNA_ID2、DNA_ID3是只声明了,但是没有生成逻辑的。
后来,在prdata声明的时候,加上了一句/* synthesis keep */,再次编译就不会报错。
在此请教路过的各位大神,这种现象怎么解释?加上的这句综合语句是解决non-global control signals的根本方法吗?
