您好,歡迎進入深圳市穎特新科技有限公司官方網(wǎng)站!
一些設(shè)計者可互換地使用術(shù)語屬性和約束。 其他設(shè)計師給他們不同的意義。 此外,使用某些語言結(jié)構(gòu)的術(shù)語相似但是意義不同
Xilinx®使用術(shù)語屬性和約束如下定義。
屬性
屬性是與設(shè)備體系結(jié)構(gòu)原語組件相關(guān)聯(lián)的屬性,其通常影響實例化的組件功能或?qū)崿F(xiàn)。
屬性通過以下方式傳遞:
•通用地圖(VHDL)
•實例化基元組件時傳遞的Defparams或內(nèi)聯(lián)參數(shù)(Verilog的)
所有屬性都在Xilinx庫指南中作為原始組件描述的一部分進行了描述。
CPLD Fitter
The following constraints apply to CPLD devices:
BUFG (CPLD)
Collapse (COLLAPSE)
CoolCLOCK (COOL_CLK)
Data Gate (DATA_GATE)
Fast (FAST)
Input Registers (INREG)
Input Output Standard (IOSTANDARD)
Keep (KEEP)
Keeper (KEEPER)
Location (LOC)
Maximum Product Terms (MAXPT)
No Reduce (NOREDUCE)
Offset In (OFFSET IN)
Offset Out (OFFSET OUT)
Open Drain (OPEN_DRAIN)
Period (PERIOD)
Prohibit (PROHIBIT)
Pullup (PULLUP)
Power Mode (PWR_MODE)
Registers (REG)
Schmitt Trigger (SCHMITT_TRIGGER)
Slow (SLOW)
Timing Group (TIMEGRP)
Timing Specifications (TIMESPEC)
Timing Name (TNM)
Timing Specification Identifier (TSidentifier)
VREF
Wire And (WIREAND)
邏輯約束
邏輯約束是在映射或擬合之前附加到元素的約束。
•邏輯約束有助于使設(shè)計性能適應(yīng)預(yù)期的最壞情況。
•當(dāng)您執(zhí)行以下操作時,邏輯約束將轉(zhuǎn)換為物理約束:
1.選擇特定的Xilinx®架構(gòu),以及
2.放置和布線,或適合設(shè)計。
•您可以使用輸入設(shè)計中的屬性附加邏輯約束,這些屬性將寫入網(wǎng)表約束文件(NCF)或NGC網(wǎng)表或用戶
約束文件(UCF)。
•三類邏輯約束是:
- 放置限制
- 相對位置約束
對于FPGA器件,相對位置約束:
¨將邏輯元素分組為離散集。
¨允許您定義集合中任何元素相對于的位置
集合中的其他元素,無論最終放置在整體設(shè)計中。
- 時間限制
時序約束允許您指定允許的最大延遲或傾斜
在任何給定的路徑或網(wǎng)絡(luò)上。
物理約束
注意本節(jié)僅適用于FPGA器件。
物理約束是附加到物理設(shè)計中的元素的約束。
映射(mapping)
•物理設(shè)計是映射后的設(shè)計。
•映射設(shè)計時,(1)網(wǎng)表和(2)用戶約束文件(UCF)中的邏輯約束將轉(zhuǎn)換為適用于特定的物理約束
建筑。
•物理約束在映射期間創(chuàng)建的物理約束文件(PCF)中定義。
物理約束文件(PCF)
物理約束文件(PCF):
•是映射器生成的文件。
•包含兩個部分:
- 原理圖
包含基于網(wǎng)表和UCF中的邏輯約束的物理約束。
- 用戶
¨可用于添加任何物理約束。
¨Xilinx®建議您將用戶生成的約束放在UCF中,而不是放在NCF或PCF中。
Mapping Directives
Mapping directives instruct the mapper to perform specific operations.
Mapping Directives(Mapping指令指示映射器執(zhí)行特定操作。制圖指令)
• Area Group
• BEL
• Block Name
• DCI Value
• Drive
• Fast
• Hierarchical Block Name
• Hierarchical Lookup Table Name
• HU Set
• IOB
• Input Output Block Delay
• Input Output Standard
• Keep
• Keeper
• Lookup Table Name
• Map
• No Delay
• Pulldown
• Pullup
• Relative Location
• Relative Location Origin
• Relative Location Range
• Save Net Flag
• Slew
• U Set
• Use Relative Location
• XBLKNM
放置限制(Placement Constraints)
本節(jié)描述FPGA設(shè)計中每種邏輯元件的放置約束,包括:
• Flip-Flop
• 只讀存儲器
• 內(nèi)存
•BUFT
•CLB
•IOB
•I / O.
•邊緣解碼器(Edge decoder)
•全局緩沖區(qū)(Global buffer)
各個邏輯門,如AND或OR門:
•在讀取約束之前映射到CLB函數(shù)生成器。
•不能約束。
指定約束
大多數(shù)約束可以在:
•HDL源代碼,或
•用戶約束文件(UCF)
在約束文件中,每個放置約束作用于一個或多個符號。 設(shè)計中的每個符號都帶有唯一的名稱,該名稱在輸入文件中定義。 在約束語句中使用此名稱來標(biāo)識符號。
區(qū)分大小寫
•UCF和NCF區(qū)分大小寫。
•標(biāo)識符名稱(對象名稱,例如網(wǎng)絡(luò)名稱)必須與案例完全匹配
源設(shè)計網(wǎng)表中存在的名稱。
•Xilinx®關(guān)鍵字(例如LOC,PROHIBIT,RLOC和BLKNM)可以全部大寫或全部小寫輸入。 不允許混合案例。
網(wǎng)表映射和放置約束
以下約束控制網(wǎng)表中符號的映射和放置:
•BLKNM
•HBLKNM
•HLUTNM
•LOC
•LUTNM
•禁止
•RLOC
•RLOC_ORIGIN
•RLOC_RANGE
•XBLKNM
相對位置(RLOC)約束
RLOC約束將邏輯元素分組為離散集。
•您可以定義集合中任何元素相對于其他元素的位置
在集合中,無論最終放置在整體設(shè)計中。
•例如,如果RLOC約束應(yīng)用于按列組織的一組八個觸發(fā)器,則映射器將保持列順序并將整組觸發(fā)器作為單個單元移動。
•相比之下,絕對LOC約束將設(shè)計元素限制在FPGA裸片上的特定位置,與其他設(shè)計元素?zé)o關(guān)。
Placement Constraints
• AREA_GROUP
• BEL
• LOC
• LOCATE
• Prohibit
• RLOC
• RLOC_ORIGIN
• RLOC_RANGE
• USE_RLOC
路由指令
路由指令指示PAR執(zhí)行特定操作。
•AREA_GROUP
•CONFIG_MODE
•LOCK_PINS
綜合約束
綜合約束指導(dǎo)特定設(shè)計或硬件描述語言(HDL)代碼的綜合工具優(yōu)化技術(shù)。 約束要么嵌入在源代碼中,要么包含在單獨的綜合約束文件中。
以下約束是綜合約束:
• 從到
•IOB
• 保持
•MAP
•MARK_DEBUG
•OFFSET IN
•OFFSET OUT
•期間
•TIG
•TNM
•TNM_NET
綜合約束文檔
XST綜合約束記錄在:
•適用于Virtex-4,Virtex-5,Spartan-3和更新CPLD器件的XST用戶指南(UG627)
•適用于Virtex-6,Spartan-6和7系列器件的XST用戶指南(UG687)
軟件供應(yīng)商的文檔中記錄了其他綜合約束。
時間限制
Xilinx®軟件使您能夠使用全局或路徑特定的時序約束來指定精確的時序要求。
定時討論了定義約束的推薦方法
關(guān)閉用戶指南(UG612)。
以下是時序約束和相關(guān)的分組約束:
• Asynchronous Register
• Disable
• Enable
• From Thru To
• From To
• Maximum Skew
• Offset In
• Offset Out
• Period
• Priority
• System Jitter
• Temperature
• Timing Ignore
• Timing Group
• Timing Specifications
• Timing Name
• Timing Name Net
• Timing Point Synchronization
• Timing Thru Points
• Timing Specification Identifier
• Voltage
Configuration Constraints
• Configuration Mode
• DCI Cascade
• MCB Performance
• Stepping
• Post CRC
• Post CRC Action
• Post CRC Frequency
• Post CRC INIT Flag
• VCCAUX
• VREF
• Internal Vref Bank
Xilinx約束的進入策略
下表顯示了ISE®DesignSuite用于輸入給定約束類型的功能。
下表顯示了ISE®DesignSuite用于輸入給定約束類型的功能。
原理圖設(shè)計
遵循以下規(guī)則,將Xilinx®約束作為符號或示意圖中的屬性添加:
•如果約束適用于網(wǎng)絡(luò),請將其作為屬性添加到網(wǎng)絡(luò)中。
•如果約束適用于實例,請將其作為屬性添加到實例。
•您無法添加PART和Prohibit等全局約束。
•您不能添加附加到時序規(guī)范或時序組的任何時序規(guī)范。
•以全部大寫或全部小寫形式輸入屬性名稱和值。 不允許混合大寫和小寫。
有關(guān)創(chuàng)建,修改和顯示屬性的更多信息,請參閱“原理圖和符號編輯器幫助”。
可以在原理圖中輸入的任何約束的語法在該約束的部分中描述。 有關(guān)正確的原理圖語法的示例,請參閱BEL中的原理圖語法示例。
VHDL屬性
在VHDL代碼中,可以使用VHDL屬性指定約束。 在使用它之前,必須使用以下語法聲明約束:
attribute attribute_name:string;
例
屬性RLOC:string;
可以在實體或體系結(jié)構(gòu)中聲明屬性。
•如果在實體中聲明屬性,則它在實體和體系結(jié)構(gòu)主體中都可見。
•如果在體系結(jié)構(gòu)中聲明屬性,則不能在實體聲明中使用它。
聲明屬性后,您可以指定VHDL屬性,如下所示:
接受的attribute_values取決于屬性類型。
例一
屬性RLOC:string;
u123的屬性RLOC:label是“R11C1.S0”;
示例二屬性bufg:string;
my_clock的屬性bufg:signal是“clk”;
對于Xilinx®,最常見的對象是信號,實體和標(biāo)簽。 標(biāo)簽描述組件的實例。
注意必須在輸出端口上使用signal屬性。
VHDL不區(qū)分大小寫。
在某些情況下,現(xiàn)有的Xilinx約束不能用于屬性,因為它們也是VHDL關(guān)鍵字。 要避免此命名沖突,請使用約束別名。 每個Xilinx約束都有自己的別名。 別名是預(yù)先設(shè)置的原始約束名稱
前綴XIL_例如,RANGE約束不能直接在屬性中使用。 請改用XIL_RANGE。
Verilog屬性
Verilog屬性以星號(*)為界,并使用以下語法:
(* attribute_name = attribute_value *)
哪里
•attribute在其引用的信號,模塊或?qū)嵗暶髦啊?br />•attribute_value是一個字符串。 不允許使用整數(shù)或標(biāo)量值。
•attribute_value介于引號之間。
•默認(rèn)值為1.(* attribute_name *)與(* attribute_name =“1”*)相同。
Verilog屬性語法示例一
(* clock_buffer =“IBUFG”*)輸入CLK;
Verilog屬性語法示例二
(* INIT =“0000”*)reg [3:0] d_out;
Verilog屬性語法示例三
總是@(current_state或重置)
begin(* parallel_case *)(* full_case *)
case(current_state)
Verilog屬性語法示例四
(* mult_style =“pipe_lut”*)MULT my_mult(a,b,c);
Verilog限制
不支持Verilog屬性:
•信號聲明
•聲明
•端口連接
•表達(dá)式運算符
Verilog Meta評論
也可以使用元注釋在Verilog代碼中指定約束。 Verilog
format是首選語法,但仍支持元注釋樣式。 使用
語法如下:
//合成屬性AttributeName [of] ObjectName [是] AttributeValue
Verilog Meta評論示例
// u123的合成屬性RLOC是R11C1.S0
//合成屬性HU_SET u1 MY_SET
// my_clock的合成屬性bufg是“clk”
約束
掃碼關(guān)注我們
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08