עבור לתוכן

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, זה מתבצע לפני מה שמחוץ לבלוקים?

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

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

פורסם
  • מחבר

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

ארכיון

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

דיונים חדשים