Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20642 Discussions

How to control the DATA input of a LUT

Altera_Forum
Honored Contributor II
1,274 Views

Hi all, 

 

i am using lut_input/lut_output primitives to define a LUT function, and i want to control which DATAx input of LUT is used. 

For example, i want to use DATAC input of LUT, but it seems that QII fitter randomly choose a DATA input like DATAD as input port(EP4CE115 with QII14.0). 

 

How can i control the DATA input of a LUT?  

The thread (http://www.alteraforum.com/forum/showthread.php?t=48731) has the same requirement as me, it seems revising .rcf file may help. 

so i generated rcf file and revised 'route_port' in the file correspondingly, please see the following code. 

 

//verilog code 

wire ia; 

(* keep *)wire combo; 

lut_input t1(cnt_rx[0],ia); 

lut_output o1(ia,combo); 

 

 

//original rcf file 

branch_point = Label_LOCAL_INTERCONNECT:X76Y23S0I12; 

dest = ( combo, DATAA ), route_port = DATAD; 

 

//revised rcf file 

branch_point = Label_LOCAL_INTERCONNECT:X76Y23S0I12; 

dest = ( combo, DATAA ), route_port = DATAC; 

 

 

 

-------------------- 

QII14.0 gives following info: 

Info (170085): Cannot route signal "cnt_rx[0]" to atom "combo" 

Info (170097): Routing for this connection is constrained 

Info (170098): Error on line number 6752 in Routing Constraints File 

Info (170119): To finish routing, the Quartus II software will remove the routing constraints for this fan-out and will make another attempt at routing this fan-out after all other fan-outs of this signal are routed 

 

when i change route_port from DATAD to DATAA, it seems ok and QII choose DATAA as LUT input port as i set, however, when i change route_port from DATAD to DATAB or DATAC, QII will give the messages as above shows. 

 

so do i miss something? or when i change from DATAD to DATAB or DATAC, need i change something else at the same time? 

 

Please help. 

 

 

 

ingdxdy
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
297 Views

I don't have an answer for you, but I'm curious as to why you want or need to do this.

0 Kudos
Altera_Forum
Honored Contributor II
297 Views

I originally think that the inputs of a LUT share all local interconnect lines, that each input mux before DATAx could connect DATAx to any of local interconnect lines.  

so i think when i simply change from DATAD to DATAC, it should be easy for QII to achieve fitting. It seems in fact that the input mux does not connect all local interconnect lines, 

so a local connect line may be connected to DATAD input mux, but not connected to DATAC input mux, that DATAD and DATAC are not exchangable in this situation. 

so i need to use wildcards in routing channel to ease QII fitting, then my purpose will be reached(that is, i could change from DATAD to DATAC freely). 

 

 

 

--- Quote Start ---  

I don't have an answer for you, but I'm curious as to why you want or need to do this. 

--- Quote End ---  

 

Well, it is an interesting thing for me, may be i will not use this technique forever, but it may help me think other problems. 

Thanks much for your attention. 

 

Best Wishes, 

ingdxdy
0 Kudos
Reply