本文分別對(duì)quartus和vivado防止信號(hào)被優(yōu)化的方法進(jìn)行介紹。
為什么要防止信號(hào)被優(yōu)化
在FPGA開(kāi)發(fā)調(diào)試階段,經(jīng)常遇到這樣的情況,需要臨時(shí)添加信號(hào),觀察信號(hào)變化,用來(lái)定位代碼中存在的問(wèn)題,很多時(shí)候這些臨時(shí)添加的信號(hào)會(huì)被綜合工具優(yōu)化掉,為了防止這種情況的發(fā)生,可以使用添加虛擬引腳(quartus)和代碼中添加屬性(vivado)。
下面分別對(duì)兩種方法進(jìn)行說(shuō)明,在原有代碼中加入如下代碼,觀察cnt信號(hào)是否被優(yōu)化,能否通過(guò)邏輯分析儀進(jìn)行觀測(cè)。
reg [3:0] cnt;
always@(posedge clk,negedge locked)
begin
if(!locked)
cnt <= 4'd0;
else
cnt <= cnt + 1'b1;
end
Quartus中如何設(shè)置虛擬引腳
在quartus中加入上述代碼后,將cnt信號(hào)設(shè)置成輸出引腳。 下面將cnt信號(hào)設(shè)置為虛擬引腳。
方法1:
在qsf文件中添加如下內(nèi)容:
set_instance_assignment -name VIRTUAL_PIN ON -to cnt[0]
set_instance_assignment -name VIRTUAL_PIN ON -to cnt[1]
set_instance_assignment -name VIRTUAL_PIN ON -to cnt[2]
set_instance_assignment -name VIRTUAL_PIN ON -to cnt[3]
編譯后,添加signal tap,cnt信號(hào)可以添加,說(shuō)明沒(méi)有被優(yōu)化。

方法2:
將cnt信號(hào)設(shè)置成輸出后,打開(kāi)Assignment Editor,進(jìn)行如下設(shè)置。

Vivado中防止信號(hào)被優(yōu)化
在代碼中加入(* dont_touch = "true" *) 。
(* dont_touch = "true" *) reg [3:0] cnt;
always@(posedge clk,negedge locked)
begin
if(!locked)
cnt <= 4'd0;
else
cnt <= cnt + 1'b1;
end
重新編譯后,使用ila觀測(cè)cnt,ila中有信號(hào),證明信號(hào)沒(méi)有被優(yōu)化。

-
FPGA
+關(guān)注
關(guān)注
1656文章
22317瀏覽量
631053 -
信號(hào)
+關(guān)注
關(guān)注
11文章
2902瀏覽量
79779 -
引腳
+關(guān)注
關(guān)注
16文章
2099瀏覽量
55246 -
quartus
+關(guān)注
關(guān)注
18文章
175瀏覽量
76197 -
Vivado
+關(guān)注
關(guān)注
19文章
848瀏覽量
70545
發(fā)布評(píng)論請(qǐng)先 登錄
數(shù)字IC/FPGA設(shè)計(jì)中的時(shí)序優(yōu)化方法
FPGA中的I_O時(shí)序優(yōu)化設(shè)計(jì)
STM32F745通過(guò)FMC訪(fǎng)問(wèn)FPGA順序被優(yōu)化
今日說(shuō)“法”:如何防止reg、wire型信號(hào)在使用邏輯分析儀時(shí)被優(yōu)化
如何有效防止FPGA設(shè)計(jì)被克隆?
防止Wi-Fi信號(hào)被截獲的墻紙(英國(guó)開(kāi)發(fā))
FPGA信號(hào)處理算法設(shè)計(jì)、實(shí)現(xiàn)以及優(yōu)化(南京)
怎樣防止手機(jī)被屏蔽
Vivado防止信號(hào)被綜合掉的三種方法
信號(hào)管腳任務(wù)可進(jìn)行多個(gè)FPGA的I/O優(yōu)化
如何使用Xilinx的FPGA對(duì)高速PCB信號(hào)實(shí)現(xiàn)優(yōu)化設(shè)計(jì)
PCB設(shè)計(jì)中的高速信號(hào)傳輸優(yōu)化技巧
FPGA在線(xiàn)調(diào)試信號(hào)被優(yōu)化原因分析及防止優(yōu)化方法總結(jié)
介紹FPGA在線(xiàn)調(diào)試的一大利器—VIO
淺談寄存器被優(yōu)化的原因

FPGA設(shè)計(jì)中如何防止信號(hào)被優(yōu)化
評(píng)論