دورة المسار المتعدد

C

cherjier

Guest
لدي سؤال وآمل أن أحصل على بعض ردود الفعل..
هذا هو رمز سبيل المثال :
رمز :

multi_cyc_test النمطية (

CLK ،

RST_N ،المدرسة الوطنية للإدارة ،

IN_DATA ،

OUT_DATA

(؛)المعلمة معطلة = 2'b00 ؛

المعلمة تحميل = 2'b01 ؛

العد المعلمة = 2'b10 ؛

المعلمة عنبر = 2'b11 ؛CLK المدخلات ؛

RST_N المدخلات ؛

المدرسة الوطنية للإدارة المدخلات ؛

مدخلات [3:0] IN_DATA ؛الإخراج [3:0] OUT_DATA ؛ريج [1:0] عداد ؛

ريج [3:0] reg_a ؛

ريج [3:0] reg_b ؛ريج [1:0] current_state ؛

ريج [1:0] next_state ؛count_start حصوي ؛

reg_a_en حصوي ؛

reg_b_en حصوي ؛count_done سلك ؛تعيين count_done = &counter؛

تعيين OUT_DATA = reg_b ؛دائما @ (CLK posedge أو RST_N negedge)

إذا (! RST_N)

مكافحة <= 2'b00 ؛

والا اذا (count_start)

مكافحة <= مكافحة 1 ؛دائما @ (CLK posedge أو RST_N negedge)

إذا (! RST_N)

reg_a <= 4'h0 ؛

والا اذا (reg_a_en)

reg_a <= IN_DATA ؛دائما @ (CLK posedge أو RST_N negedge)

إذا (! RST_N)

reg_b <= 4'h0 ؛

والا اذا (reg_b_en)

reg_b <= ~ reg_a ؛ / / من reg_a لreg_b ، قد وسيطة قد منطق أكثر التوافقيةدائما @ (CLK posedge أو RST_N negedge)

إذا (! RST_N)

current_state <= معطلة ؛

أيضا

current_state <= next_state ؛دائما @ (current_state أو الاثيوبية أو count_done) يبدأcount_start = 1'b0 ؛

reg_a_en = 1'b0 ؛

reg_b_en = 1'b0 ؛حالة (current_state)

الخمول : أبدأ

إذا كان (الاثيوبية) next_state = الحمل ؛

نهايةتحميل : أبدأ

next_state = العد ؛

reg_a_en = 1'b1 ؛

نهايةالاحصاء : أبدأ

next_state = العد ؛

إذا كان (count_done) next_state = عنبر ؛

count_start = 1'b1 ؛

نهايةعنبر : أبدأ

next_state = معطلة ؛

reg_b_en = 1'b1 ؛

نهايةالافتراضي : أبدأ

next_state = معطلة ؛

نهاية

endcase

نهايةendmodule
 
وأعتقد أنه يجب أن يكون فوق موافق.ش يمكن الفايبرجلاس على أساس يتيح أيضا.

 
مراعاة لتوجيه لي كيفية تجميعها من خلال تمكين؟وأنا أقرأ والبحث عن دليل القيود ولكن لم أكن أعرف أن نفعل ذلك.شكرا لك

 

Welcome to EDABoard.com

Sponsor

Back
Top