5分频
上一篇 /
下一篇 2006-08-15 11:05:23 / 天气: 晴朗
/ 心情: 高兴
/ 个人分类:Backup
5分频,奇数分频都可以类似这么做,只需要改div1和div2的参数。div1为奇数分频除2的余数。采用上升延和下降延分别触发不同波形,最后叠加的方式产生奇数分频。
module divfreq(clk, clk1x, rst, clk1xpose, clk1xnege, coutpose, coutnege);
input clk;
C+p1APiHi+H*@v181133input rst;EDA中国门户网站'yi"o(d%t
output clk1x;EDA中国门户网站,[#N.m
o%w}d
output clk1xpose;EDA中国门户网站$b X+F6r.t*TQ+~
output clk1xnege;
fSXX9|E*m181133output[2:0] coutpose;EDA中国门户网站~
O_E:[R
output[2:0] coutnege;
reg clk1xpose;
&j5g-F]w#S181133reg clk1xnege;
{2anCd.Z"G181133reg[2:0] coutpose;EDA中国门户网站K'R
T iEn?
D
reg[2:0] coutnege;
parameter div1 = 2 , div2 = 4; // div1 = 5 / 2, div2 = 5 - 1
assign clk1x = clk1xpose | clk1xnege;
always@(posedge clk or negedge rst)
Ng
U7bH#bDB181133 begin
ODF%C:O/?}W181133 if(!rst)EDA中国门户网站zio[Q;?
EDA中国门户网站w`)piFm
clk1xpose = 0;EDA中国门户网站d.A1d9]+v0x Ph
3Ls*NP0}#G;o B*n H181133 else if(coutpose == div1)EDA中国门户网站-SfE_AF/x
clk1xpose = ~clk1xpose;EDA中国门户网站
]6K%p o-C
else if(coutpose == div2)
9[6SJq0@x181133 clk1xpose = ~clk1xpose;EDA中国门户网站:Q3S6s3p1co
else
&iL;o
|;vL181133 clk1xpose = clk1xpose;
ii}g/Mnb181133 end
always@(negedge clk or negedge rst)
~z~&^l0JMh181133 begin
0k
X/c~R{Qm`"v&?181133 if(!rst)
5k8LIi/}SW[-c181133
X\"_)?)h%j7{181133 clk1xnege = 0;
$r8zDt!N%H"s4^ v181133 EDA中国门户网站7O(b8_u E l0_B]K
else if(coutnege == div1)
w%x:uT9O6L7ba181133 clk1xnege = ~clk1xnege;EDA中国门户网站|}9uR/n)pIu9Ov
else if(coutnege == div2)EDA中国门户网站^ucoH1{*P4M f
clk1xnege = ~clk1xnege;
j
I)] r"M181133 else EDA中国门户网站%`R6G S)^.AO1n
clk1xnege = clk1xnege;
n$M4Y]#X-h%n;V~6`181133 end
always@(posedge clk or negedge rst)
s7v
f3S$W6Y B*k9E181133 beginEDA中国门户网站SHjz5M3B
if(!rst)
\L {"Vs%]yRzt181133 coutpose = 0;
iF.m|7d181133 else if(coutpose == div2)EDA中国门户网站Z;L6F"do H5^$m
coutpose = 0;EDA中国门户网站h:fL:z~.\
elseEDA中国门户网站7Y2}u-m#c!O
coutpose = coutpose + 1;EDA中国门户网站O in
Pz?jM[4U
s
end
always@(negedge clk or negedge rst)EDA中国门户网站X,VL:Z&}j
begin
QikB-Tuxx#a2w181133 if(!rst)EDA中国门户网站~
p](o
UwS
coutnege = 0;
b-k5R3o'|Az
`181133 else if(coutnege == div2)
*K$u(mTn|'xx:?_181133 coutnege = 0;
Wf/jK1fn181133 else
D$yWMR[181133 coutnege = coutnege + 1;EDA中国门户网站;Rz(P,Z2C&K+n
end
endmodule
导入论坛
收藏
分享给好友
推荐到圈子
管理
举报
TAG:
Verilog