با یاد خدا
سلام دوستان عزیز
من یک شمارنده چهار بیتی BCD طراحی کردم که از 4 مدار JK که هر کدوم از یک فلیپ فلاپ ساخته شدن و یک گیت AND تشکیل شده و یک Test-Banch برای مقدار دهی به زبان verilog نوشتم اما وقتی کد رو تو نرم افزار modelsim اجرا میکنم فقط مقادیر a و clk مقدار میگیرن و سیگنال نشون میدن و بقیه خروجی ها (q1,qn1,....)چیزی نشون نمیدن
مشکل هم از برنامه نیست کدم ایراد داره
اگه دوستان با این مورد اشنایی دارن ممنون میشم راهنمایی کنن
سلام دوستان عزیز
من یک شمارنده چهار بیتی BCD طراحی کردم که از 4 مدار JK که هر کدوم از یک فلیپ فلاپ ساخته شدن و یک گیت AND تشکیل شده و یک Test-Banch برای مقدار دهی به زبان verilog نوشتم اما وقتی کد رو تو نرم افزار modelsim اجرا میکنم فقط مقادیر a و clk مقدار میگیرن و سیگنال نشون میدن و بقیه خروجی ها (q1,qn1,....)چیزی نشون نمیدن
مشکل هم از برنامه نیست کدم ایراد داره
اگه دوستان با این مورد اشنایی دارن ممنون میشم راهنمایی کنن
کد:
module dff(d,c,q,qn); input d,c; output q,qn; wire w1,w2,w3; not(w1,d); nand(w2,c,d); nand(w3,c,w1); nand(q,w2,qn); nand(qn,w3,q); endmodule module jkff(j,k,clk,q,qn); input j,k,clk; output q,qn; wire w1,w2,w3,w4; not(w1,k); and(w2,j,qn); and(w3,w1,q); or(w4,w2,w3); dff df1(w4,clk,q,qn); endmodule module counter(a,clk,q1,q2,q3,q4,qn1,qn2,qn3,qn4); input a,clk; output q1,q2,q3,q4,qn1,qn2,qn3,qn4; wire w1,w2; jkff jk1(a,a,clk,q1,qn1); jkff jk2(qn4,a,q1,q2,qn2); jkff jk3(a,a,q2,q3,qn3); and(w1,q2,q3); jkff jk4(w1,a,q1,q4,qn4); endmodule module sim; reg a,clk; wire q1,q2,q3,q4,qn1,qn2,qn3,qn4; counter c1(a,clk,q1,q2,q3,q4,qn1,qn2,qn3,qn4); initial begin //set value for input...! $monitor($time,"a=%clk,clk=%clk,q1=%clk,gn1=%clk,q2=%clk,qn2=%clk,q3=%clk,qn3=%clk,q4=%clk,qn4=%clk;",a,clk,q1,q2,q3,q4,qn1,qn2,qn3,qn4); #100 clk=1; #100 a=0; #100 a=1; #100 a=0; #100 a=1; end always begin #50 clk =~ clk; end endmodule
دیدگاه