עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Verilog - הקלט לא מתקבל?+שאלות

Featured Replies

פורסם

אני שובר את הראש, מנסה הרבה דברים שונים, ופשוט לא מבין מה הטעות שלי.

לצערי אני לא יכול לעשות debug כי ויתרתי על ISE (אני פשוט לא מצליח להבין איך משתמשים בדבר הזה) ואני עכשיו עם Icarus 0.9.5


module behavior_ha(b1,b2,sum,carry);
input b1,b2;
output sum,carry;
reg sum_r,carry_r;

initial begin
carry_r=0;
sum_r=0;

if (b1==0)
if (b2==1)
sum_r=1;
else if (b1==1)
if (b2==0)
sum_r=1;
else if (b2==1)
carry_r=1;
$display("behavior ha b1=%b,b2=%b,sum=%b,carry=%b",b1,b2,sum,carry);

end
assign sum=sum_r;
assign carry=carry_r;
endmodule

module behavior_fa(b1,b2,carry_in, sum, carry_out);
input b1, b2, carry_in;
output sum,carry_out;
reg sum,carry_out;

// $display("after initial, b1=%b,b2=%b,carry=%b",b1,b2,carry_in);

initial begin
if (b1==1)
if (b2==1) begin
if (carry_in==1)
sum=1;
else
sum=0;
carry_out=1;
end
else
if (carry_in==1) begin
sum=0;
carry_out=1;
end
else begin
sum=1;
carry_out=0;
end

else
if (b2==1)
if (carry_in==1) begin
sum=0;
carry_out=1;
end
else begin
carry_out=0;
sum=1;
end
else begin
if (carry_in==1)
sum=1;
else
sum=0;
carry_out=0;
end
$display("behavior fa b1=%b,b2=%b,carry_in=%b,sum=%b,carry_out=%b",b1,b2,carry_in,sum,carry_out);

end
endmodule

module behavior_8_bit_adder(in1, in2, sum);
input [7:0] in1;
input [7:0] in2;
output [7:0] sum;

wire [7:1] carry;

behavior_ha b1(0,0,sum[0],carry[1]);
behavior_fa #15 b2(0,0,carry[1],sum[1],carry[2]);
behavior_fa #30 b3(0,0,carry[2],sum[2],carry[3]);
behavior_fa #45 b4(1,1,carry[3],sum[3],carry[4]);
behavior_fa #60 b5(1,0,carry[4],sum[4],carry[5]);
behavior_fa #75 b6(0,0,carry[5],sum[5],carry[6]);
behavior_fa #90 b7(0,0,carry[6],sum[6],carry[7]);
behavior_fa #105 b8(0,0,carry[7],sum[7],);
endmodule

משום מה זה מדפיס כל הזמן שה- carry_in=z

ואני פשוט לא מבין למה...

שאלות:

1. אני צריך בכלל את הדיליי בין ה- instance-ים של החלקים שמרכיבים את המחבר?

2. עוד לא הצלחתי להבין -כשאני עושה initial, זה מתבצע לפני מה שמחוץ לבלוקים?

בקושי יש לי מושג מה אני עושה, וכל המדריכים שאני מוצא לא עוזרים לי להבין מה הטעות שלי

עזרה או המלצה על כלי פשוט שמאפשר דיבאגינג יתקבלו בברכה... תודה!

פורסם
  • מחבר

הקפצה-שיניתי נושא ושאלות. אני מיואש, מותש ולא אוהב לתכנת :(

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.