通過在一個體繫結構中使用具有相同靈敏度列表的幾個進程可以產生不必要的影響嗎?具有幾個具有相同靈敏度列表的進程
我在一個體繫結構中並行發生了幾個進程,一個用於從寫入輸入的主服務器讀取輸入的一個進程,一個用於在主服務器請求和一次計算時將輸出寫回主服務器。所有進程都是時鐘進程,其靈敏度列表僅包含復位和時鐘信號。
每個進程寫入自己的信號,其他進程可以讀取,即沒有兩個進程寫入同一信號的實例。
在一個單獨的大流程中實現所有功能是可能的,但是這樣做會更麻煩。
這樣的實施會有什麼不利影響嗎?
有沒有任何理由支持幾個較小的較不優雅的一個大流程?
WRT問題1:在VHDL-2008「process(all)」中,靈敏度列表參數消失了,一個寫得很好的兩個進程狀態機與寫得很好的一個進程狀態機沒有什麼不同。每個人都有他們的詭計。例如,在一個兩進程狀態機中,注意默認所有的輸出以避免鎖存 - 這也是代碼簡化和提高可讀性的關鍵。在一個進程狀態機中,注意復位所有輸出,否則那些信號在復位期間有邏輯保留它們的值 - 通常是在復位激活時關閉的加載啓用。 –
同意,我應該在2008年提到過程(全部)。在一些單進程SM中,我有一些輸出的默認值。然後對這些輸出*單獨復位*將是多餘的。 –