最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
株洲市| 九江县| 泰州市| 泰安市| 嘉禾县| 凤山市| 天柱县| 泰顺县| 望谟县| 潮州市| 澳门| 怀安县| 花垣县| 铅山县| 靖西县| 洛浦县| 福鼎市| 达拉特旗| 两当县| 泌阳县| 凤城市| 新蔡县| 南川市| 抚州市| 特克斯县| 桦南县| 西乌珠穆沁旗| 楚雄市| 连城县| 瑞丽市| 铅山县| 湾仔区| 青田县| 醴陵市| 宜君县| 分宜县| 咸阳市| 云安县| 绵竹市| 永胜县| 阿荣旗|