Quartus II 邏輯分析使用技巧-防止信號被優化以及快速查找信號

1,如何保持信號不被綜合

    對這種情況的處理是增加約束,共有2種情況:
    
     a, 需要保留的信號類型是 wire
        在定義的時候在後面增加/* synthesis keep */。
        例如:wire wire_name/*synthesis keep */;
        
     b,需要保留的信號類型是 reg
        跟reg相關的synthesis attribute,共有兩種,分別是/*synthesis noprune*/和/*synthesis preserve*/,兩者的差別如下:
        /*synthesis noprune*/ 避免 Quartus II 優化掉沒output的reg。
        /*synthesis preserve*/避免 Quartus II 將reg優化爲常數,或者合併重複的reg。
        
        定義的時候在後面增加相關的約束語句。
        例如:reg r_name/*synthesis noprune*/; 或者 reg r_name/*synthesis preserve */;
        將/*synthesis noprune*/等synthesis attribute 語句放在module後面,這樣整個module的所有reg將不被優化,
        從而不用再一一寄存器指定。

        注意:以上所提到的使用語言爲verilog。synthesis attribute必須寫在結束分號前面, 寫在分號後面只相當於註釋:
        正確:reg r_name/* synthesis preserve */;
        錯誤:reg r_name;/* synthesis preserve */

2,如何快速找到想要抓取的信號

     選擇 filter 爲 Signal Tap : pre-synthesis 。對於模塊間的信號,Named 填入模塊的端口名,注意不要填模塊間的網絡名,
     對於模塊內部的信號, 可以直接搜索,如果找不到, 可以參考1增加相應約束。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章