VHDL中的訊號不能多次賦值的修改請教

2021-03-12 07:31:12 字數 1353 閱讀 6989

1樓:匿名使用者

沒有復位訊號

抄麼?建襲

議加入復位訊號保證baidata_in_d1初始為0,如果實在不du能加zhi入復位訊號,可以嘗試下邊

dao這個定義

signal data_in_d1,data_in_d2: std_logic_vector(1 downto 0) := (others => 『0』);

有復位訊號的話可以這樣

process (clk, rst)

begin -- process

if rst = '1' then

data_in_d1 <= (others => '0');

elsif clk'event and clk = '1' thenif en = '1' then

data_in_d1 <= data_in;

else

data_in_d1 <= data_in_d1;

end if;

end if;

end process;

另外有個小建議,你這模組的名字看起來像是qpsk解調吧?

data_out <= data_in - data_in_d1;

這句話在邏輯中的結果是個組合的加法邏輯,不利於滿足下一級觸發器的setup時間,建議你插入暫存器打拍處理。

2樓:匿名使用者

你都已經end process,最後的賦值就沒有用了data_out <= data_in - data_in_d1;

3樓:匿名使用者

"想在開始的來時候將data_in_d1賦值為源bai00",是什麼意思,是說du在第一個 clk 上升zhi沿之前為00,而第一個上升沿來時,賦dao值:還是說在第一個上升沿後為00,第二個上升沿後才為data_in,如果是前者的話,它已經滿足了你的要求,

如果是後者:architecture a of qpsk_mbh is

signal data_in_d1,data_in_d2: std_logic_vector(1 downto 0);

begin

process(clk)

variable shi:bit:='0';

begin

if rising_edge(clk) thenif en = '1' then

if shi='1'then

data_in_d1<=data_in;

end if;

shi:='1';

end if;

end if;

end process;

data_out <= data_in - data_in_d1;

end a;

訊號與系統的小問題,關於取樣定理中的訊號最高頻率f的求出

樓主,我前兩天就看到你的題目,但只見你只給10個金幣,太便宜了,就一直沒做版,現在空閒權下來,我來說一下吧 樓主你的用書是吳大正的吧 這個題目主要是要結合圖形來分析 下面我畫了一下,雖然不怎麼美觀,但還是能看清 對於2,3題,我具體分析一下 對於2題 f 2 t 的傅立葉變換 f jw 卷積f jw...

怎樣把向量賦值給矩陣中的某一行

以矩陣a為例。在matlab中,a i,j 表示的是矩陣a中第i行第j列的元素 a j 表示矩陣a中第j列的所有元素 a i,表示矩陣a中第i行的所有元素。單單取出某一行,比如a i,就是一個行向量,要改變該行向量的元素,即用另一個行向量b來替換將該行向量a i,則可以寫成 a i,b 注意 b必須...

鐵路四顯示訊號表示的方法和意義,鐵路訊號中訊號機的三顯示,四顯示是什麼意思

訊號是在行車 調車工作中,對乘務人員和與行車有關人員指示執行條件而規定的物理特徵符號。鐵路訊號是對鐵路行車或調車有關人員發出的指示執行條件的命令,與此有關的工作人員必須嚴格按照鐵道部批准的訊號顯示進行工作,任何單位 個人都不得違反或作出其他解釋。訊號顯示是訊號的顯示方式 顯示含義和使用方法的統稱。以...