我假設您使用的是ISE而不是新的Vivado,因爲只有ISE使用UCF約束文件。
## Clock signal
此行是關於以下行關於什麼的評論。
#NET "clk" LOC=L16 | IOSTANDARD=LVCMOS33; #IO_L11P_T1_SRCC_35
該行指定哪個物理引腳上的FPGA(LOC = L16)的時鐘輸入端從片外(名爲在VHDL頂級「CLK」輸入網)連接到。它還規定該信號使用低電壓CMOS 3.3v信號。
#NET "clk" TNM_NET = sys_clk_pin;
這只是給網絡分配一個時間名。對於時序特定的約束,將使用時序名稱而不是(VHDL內部)網絡名稱。
#TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 125 MHz HIGH 50%;
這指定「sys_clk_pin」的定時(解析爲VHDL網「CLK」)應具有125兆赫的頻率和50%的佔空比。該工具需要知道這一點,以確定如何路由信號而不違反觸發器設置或保持時間。名稱「TS_sys_clk_pin」只是這個特定約束的標識符。
當您接近填充零件或想要以更高的時鐘速度運行時,正確地約束設計非常重要。您可以在賽靈思ISE約束指南中找到大量信息:http://www.xilinx.com/itp/xilinx10/books/docs/cgd/cgd.pdf
如果您沒有給出您的設計時序約束,那麼這些工具通常會針對缺少約束髮出警告,並會告訴您如何快你可以在最後運行它而不會導致錯誤。時鐘的時序約束是最重要的。您通常只需要對同步輸入和跨時鐘邊界進行其他時序約束。
請注意,所有4行實際上都是當前註釋掉的(前綴爲#)。如果您想使用3個功能行,則需要刪除評論指定。