06-13-2019 09:34 AM
I am using ISE version 14.7. I would like to assign locations for registers in ucf file is that possible? Also can I assign locations for instances which I haven't made as an hard macro in ucf file. For example if I have a module named challenge c1( ) , can I somehow assign LOC for "c1" in ucf file?
06-13-2019 06:41 PM
I'd suggest that you take a look at UG625, pg142, Location (LOC).
The applicable elements are primitives instances. So LOC is applicable for register but not hierarchical instances.
06-13-2019 07:33 PM
So LOC is applicable for register but not hierarchical instances.
However, you can do floorplanning using the AREA_GROUP constraint - you can define a region of the FPGA die with an AREA_GROUP and then add hierarchical instances to that AREA_GROUP.
Why do you want to do this? Are you trying to improve timing?
In ISE, floorplanning can be used to improve timing if you really know what you are doing - a good floorplan can improve timing... However, a bad floorplan can really wreck timing! It takes a reasonable amount of expertise (and/or experimentation) to determine if a floorplan is good or bad.
06-14-2019 11:55 AM
Thank you for the reply. I am trying to implement 4 bit arbiter PUF. I want to make the routing symmetric for the two PDL chains . Delay is my concern, so I wanted to give input to both the chains in such a way that both gets triggered simultaneously.
06-14-2019 12:13 PM
But since registers are assigned within the module, they are not shown as nets. The way I assign a location for an input or output port (NET "out<0>" LOC=G1;) or the way I assign location for instances such as INST h1_1 LOC=SLICE_X21Y59; I am not able to understand how to assign a location for a register since it doesnot show up in net list.
06-16-2019 08:03 PM
The registers objects are instances, rather than nets.