簡體   English   中英

一個SC_CTHREAD與另一個SC_CTHREAD之間的通信有一個時鍾周期延遲

[英]One clock cycle delay in communication between one SC_CTHREAD and another SC_CTHREAD

我正在嘗試使用一個主內存模塊(一個sc_cthread和一個主內存狀態機,也就是SC_CTHREAD對一個簡單的直接映射緩存進行SC_CTHREAD 我觀察到從主內存模塊寫入信號並在狀態機上接收到一個時鍾周期延遲。

我怎樣才能在一個時鍾周期內完成?

使用SC_CTHREAD時,您無法避免線程之間的延遲。 從一個CTHREAD寫入sc_signal時,該值更改僅在下一個時鍾沿對另一CTHREAD可見。

如果必須使用CTHREAD(即使用高級綜合),則避免跨線程延遲的唯一方法是將兩個功能都放在一個CTHREAD中。

如果僅需要行為模型進行仿真,則可以使用SC_THREADs和sc_events。 一個線程可以生成第二個線程正在等待的sc_event。 當第二個線程在該事件上喚醒時,它可以觀察到第一個線程完成的sc_signal變化,然后產生輸出(如果需要,與時鍾沿對齊)。 使用sc_events可以在“時鍾”沿之間“采樣”和更新信號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM