|
最近在学习verilog,刚做了个奇数分频器,
用modelsim 5.7仿真波形都是OK的,
可用ISE却总是综合不了,有一个警告说clk1是常量,count就加不到2,
所以请大侠帮忙看看我的程序是不是有问题,谢谢啦!
module div (clkout,clkin,rst);/ d7 m- G2 z' ~& K% ]- \
$ D% V2 ^6 G" @
output clkout;
input clkin;
input rst;; \1 O8 M) n' o% M- H1 z
reg clkout;
reg clk1,clk2;: Z% S+ {# c* k- n
reg [1:0]count;W/ i' z) T) J
; g3 P$ d% I# n, r5 l9 V; r
always @(posedge clkin or negedge rst)
begin
if (!rst)
begin
clk1<=0;
count<=0;6 U4 E: G) l" S
end
else if(count==2)
begin
count<=0;. ^: V. k6 _8 Va5 V' K
clk1<=~clk1;! j( M/ ^# o& T; ^! B( `" j
end
else4 J, B$ j; S& j' \8 X8 @1 t$ P
count<=count+1;9 ]1 A) J7 s" a$ \
end
always @ (negedge clkin or negedge rst)9 t% l7 OJ# T9 i
begin
if(!rst)/ E# b# N# R3 }: ^+ F5 W
begin, c/ C! _2 V4 Z
clk2<=0;
count<=0;7 M' K$ i# R9 K- z) D# `3 F
end
else if(count==1)" F/ e% \a) |. \8 `
clk2<=~clk2;. Q4 f1 t% s! p* {$ k" }
end
9 a! w@6 p6 ^6 f
always @ (clk1 or clk2 or rst)
begin+ t- v4 n5 X: f, I
if(!rst)
clkout<=0;
else
clkout<=clk1^clk2;
end! N+ \1 g$ {4 @6 v9 ?
endmodule |
|