同步複位與異步複位

  • 2019 年 10 月 31 日
  • 筆記

觸發器是FPGA中最為常見的物理單元。Xilinx FPGA中的觸發器可配置為寄存器,也可配置為鎖存器,前者為邊沿敏感,後者為電平敏感。

Xilinx FPGA中的觸發器如下圖所示,其中包含4個輸入端口和1個輸出端口。輸入端口中D為數據端口,SR為複位/置位端口,CE為使能端口。這裡置位和複位共用一個端口,意味着觸發器不能同時具有置位和複位功能。

當配置為寄存器時,有四種形式,如下表所示。可以看到複位和置位可以是同步也可以是異步,但建議採用同步(表中的名稱稱之為觸發器的REF_NAME,打開綜合後的設計在Property窗口中可看到)

這是因為異步複位/置位不受時鐘控制,如果該信號出現毛刺會導致觸發器誤操作。此外,異步複位的釋放可能會因為線延遲的不同又加上不受時鐘控制而出現在不同時刻,從而導致控制電路部分例如狀態機運行到無效狀態或者不期望的狀態,如下圖所示。

從RTL代碼角度來看,相應的同步複位與異步複位描述方式如下圖所示。

上期內容:

本周回顧–2018/03/23

下期內容:

高效使用觸發器:觸發器的初始值