3
以下是使用IF模塊的VHDL的代碼。 在最後的「elsif」中,「my_choice」的值被分配給「ch4」。然後執行「else」塊,因爲沒有條件滿足。但是,有沒有機會讓「my_choice」獲得除(ch1,ch2,ch3,ch4)以外的其他值,如高阻抗(或其他)?如果是這樣,我該如何避免?由於此分配可以更改代碼的操作。有沒有可能讓「if」塊在vhdl中脫離給定的選擇?
entity entity_name
port
.....
.....
end entity_name;
architecture bhvr of entity_name
type choices is (ch1, ch2, ch3, ch4);
signal my_choice,next_choice : choices;
begin
process(clk, reset)
begin
if reset='1' tehn
--------reset
else
my_choice<=next_choice;
end if;
end process;
process(my_choice)
begin
if my_choice = ch1 then
next_choice <= ch2;
elsif my_choice = ch2 then
next_choice <= ch3;
elsif my_choice = ch3 then
next_choice <= ch4;
else ------------------------------------coming to ch4
---- task for ch4
end process;
end architecture;
感謝您的幫助Morten Zilmer。 – Raviteja
@Raviteja:如果這個答案解決了你的問題,最好點擊接受(左邊的「V」標記),這樣其他用戶可以優先考慮他們的時間。 –