国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Vivado綜合屬性系列之一 ASYNC_REG

2023-05-14 00:20 作者:行中悟_悟中行  | 我要投稿

一、屬性簡介

?????????ASYNC_REG屬性的作用對象為寄存器,寄存器添加該屬性后,即表明寄存器的數(shù)據(jù)輸入口D接收的是來自異步時鐘觸發(fā)器的數(shù)據(jù)或是該寄存器在一個同步鏈中屬于同步寄存器。ASYNC_REG更多的是使用在異步跨時鐘域中。

????????在Vivado綜合的過程中,對于添加了ASYNC_REG屬性的寄存器,會將該屬性放置到網(wǎng)表的前面,這也能保證網(wǎng)表不會被優(yōu)化掉,在后面的流程中將正確地對網(wǎng)表進(jìn)行處理。

?????????ASYNEC_REG的值為布爾型,即只能為TRUE或FALSE,默認(rèn)值為FALSE,

????????代碼文件使用模板:???(* ASYNC_REG="true" *) reg? sync_regs;

????????XDC使用模板:set_property? ASYNC_REG? TRUE [get_cells sync_regs]

二、示例

? ? ? ? 2.1 工程說明

????????設(shè)計(jì)工程中有三個寄存器reg1,reg2,Q,reg2和Q具有相同的時鐘,reg1和reg2時鐘來源不同,reg1的輸出到reg2,reg2輸出到Q,即reg1->reg2->Q,對reg2和Q設(shè)置ASYNC_REG。

????????2.2 工程代碼

module async_reg(src_clk,des_clk,ce,d,Q);

input src_clk, des_clk,ce,d;

output Q;

reg reg1;

(*ASYNC_REG="true"*)reg Q,reg2;

always@(posedge src_clk)

begin

? ? if(!ce)

? ? ? ? reg1<=0;

? ? else

? ? ? ? reg1<=d;

end

always@(posedge des_clk)

begin

? ? if(!ce)

? ? ? ? reg2<=0;

? ? else

? ? ? ? reg2<=reg1;

end

always@(posedge des_clk)

begin

? ? if(!ce)

? ? ? ? Q<=0;

? ? else

? ? ? ? Q<=reg2;

end

endmodule

????????2.3 生效確認(rèn)

????????在TCL console中使用tcl命令驗(yàn)證屬性是否標(biāo)記,執(zhí)行如下兩條命令

set register [get_cells -hierarchical -filter "REF_NAME==FDRE"]? //獲取所有的寄存器

get_property ASYNC_REG $register? //獲取具有屬性ASYNC_REG的寄存器,

????????結(jié)果如下圖,第一條命令執(zhí)行后得到三個寄存器Q_reg reg1_reg reg2_reg,

第二條命令執(zhí)行后可知只有第1、3個寄存器Q_reg,reg2_reg具有屬性ASYNC_REG,符合設(shè)計(jì)要求。

????????


Vivado綜合屬性系列之一 ASYNC_REG的評論 (共 條)

分享到微博請遵守國家法律
藁城市| 桂东县| 大关县| 旺苍县| 成安县| 东丽区| 澜沧| 乐都县| 时尚| 名山县| 麻城市| 延津县| 溧阳市| 积石山| 施秉县| 莱芜市| 苏尼特右旗| 新邵县| 永兴县| 精河县| 利川市| 林西县| 都江堰市| 宁都县| 吉木乃县| 武鸣县| 滨海县| 武功县| 天台县| 镇康县| 改则县| 林甸县| 田阳县| 万全县| 武汉市| 格尔木市| 永泰县| 健康| 三江| 长岭县| 绵竹市|