只需具有這樣的代碼:變量賦值和綜合代碼
if(rising_edge(clk)) then
temp(0):="001";
temp(1):="011";
temp(2):="101";
temp(3):="000";
temp(0):=temp(3)xor temp(5);
end if
對於上面所有這些變量賦值的示例將在1個時鐘週期,這是相當不實用的來完成。在行爲模擬中,它可以很好地工作,但是在後期合成中它很糟糕。我可以像延遲一樣添加一個延遲或等待(等待語句是不可綜合的),以使其等待util變量在跳到下一行之前獲取它的值嗎?
你是什麼意思的「搞砸」?結果是什麼樣的?你的發佈代碼中的temp(5)在哪裏? – baldyHDL 2013-03-26 06:48:57