مدونة في إتش دي إل ، هو الحق؟

L

lzh08

Guest
ieee المكتبة ؛
ieee.std_logic_1164.all استخدام ؛

هو كيان مكو
بورت
(
nDataStrobe : في std_logic ؛
nAddrStrobe : في std_logic ؛
nWri : في std_logic ؛
nReset : في std_logic ؛
بيانات : INOUT std_logic_vector (7 DOWNTO 0) ؛
nWait : نفاد std_logic ؛
nAck : نفاد std_logic ؛
(؛)
انتهى مكو ؛

بنية عمل هو مكو
الدولة هو نوع (St0 ، St1 ، St2 ، St3 ، St4 ، St5) ؛
إشارة Cur_State ، Next_State : الدولة : = St0 ؛
إشارة RegDataTemp : std_logic_vector (7 downto 0) ؛
إشارة RegAddrTemp : std_logic_vector (7 downto 0) ؛

ستبدأ

DataWrite : عملية (Cur_State ، nDataStrobe ، nWri)
ستبدأ
هو كيس Cur_State
متى St0 => nWait <= '0' ؛
إذا كان (nWri = '1') ثم
Next_State <= St0 ؛
أيضا
Next_State <= St1 ؛
إذا كانت الغاية ؛
متى St1 => RegDataTemp <= البيانات ؛
إذا كان (nDataStrobe = '1') ثم
Next_State <= St1 ؛
أيضا
Next_State <= St2 ؛
إذا كانت الغاية ؛
متى St2 => nWait <= '1' ؛
Next_State <= St3 ؛
متى St3 => إذا (nDataStrobe = '0') ثم
Next_State <= St3 ؛
أيضا
Next_State <= St4 ؛
إذا كانت الغاية ؛
متى St4 => إذا (nWri = '0')
Next_State <= St4 ؛
أيضا
Next_State <= St5 ؛
إذا كانت الغاية ؛
متى St5 => nWait <= 1 ؛
Next_State <= St0 ؛
عند الآخرين => Next_State <= St0 ؛
حالة الغاية ؛
إنهاء عملية ؛عملية (SysClk)
ستبدأ
إذا Rising_Edge (SysClk) ثم
Cur_State <= Next_State ؛
النهاية إذا ؛
إنهاء عملية ؛
انتهى العمل ؛

 
آسف ، ولكن تحتاج إلى تسجيل الدخول لمشاهدة هذه الضميمة

 
مرحبا lzh08 ،

1.هناك نوعان من اشارات في عداد المفقودين في الكيان : SysClk ، إعادة تعيين.إذا كنت ترغب في تجميع رمز تحتاج إشارة إلى إعادة تهيئة آلة الدولة :

رمز :عملية (reset_n ، SysClk)

ستبدأ

إذا reset_n = 0 ثم

Cur_State <= St0 ؛

ELSIF Rising_Edge (SysClk) ثم

Cur_State <= Next_State ؛

النهاية إذا ؛

إنهاء عملية ؛

 

Welcome to EDABoard.com

Sponsor

Back
Top