سلام دوستان عزیز
یه پروژه از آز مدار منطقی اگه ممکنه کمک کنید:
توصیف یک شمارنده با ورودی clock (لبه بالا رونده) و سه خروجی بنویسید که روی خروجی ارقام 0 تا 5 شمارش گردد و حلقه شمارش تکرار گردد(با زبان verilog نرم افزار modelsim برای پیاده سازی روی fpga) متشکرم
کد:
module tff(t,q,clk,clr);
input t,clk,clr;
output q;
reg q;
always@(posedge clk or posedge clr)
if(~clr)
q=1'b0;
else if (~t) q=q;
else q=~q;
endmodule
کد:
module conter(t,clk,clr,z);
input [2:0]t;
input clk,clr;
output [2:0]z;
output x;
wire w,a;
reg [2:0]z;
reg x;
tff t1(t[0],z[0],clk,clr);
tff t2(t[1],z[1],z[0],x);
tff t3(t[2],z[2],z[1],x);
not (a,z[1]);
and (w,z[2],a,z[0]);
begin
if(w==1)
x = ~w;
else
x = w;
end
assign t[0]=1'b1,t[1]=1'b1,t[2]=1'b1;
endmodule
این کد هایی هستن که خودم نوشتم
اولی تابع t فلیپ فلاپه دومی برنامه است
اولش درست کار میکرد یعنی از 0 تا 7 رو میشمرد ولی من از 0 تا 5 می خواستم واسه همین یه شرط گذاشتم که به محض رسیدن به 5 پایه clear فعال شه و دوباره از 0 شرو کنه به شمردن ولی نمیدونم چرا موقع کامپایل اخطار میده لطفا از دوستان اگه کسی میدونه کمک کنه
این هم خطایی که میده
vlog -work work E:/altera/13.1/counter.v
Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
-- Compiling module conter
** Error: E:/altera/13.1/counter.v(19): near "=": syntax error, unexpected '=', expecting IDENTIFIER or TYPE_IDENTIFIER
** Error: E:/altera/13.1/counter.v(22): near "=": syntax error, unexpected '=', expecting IDENTIFIER or TYPE_IDENTIFIER