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;
fSX X9|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 iE n? 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中国门户网站-S fE_AF/x
    clk1xpose = ~clk1xpose;EDA中国门户网站 ]6K%p o-C
  else if(coutpose == div2)
9[6S Jq0@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 El0_B]K
  else if(coutnege == div1)
w%x:uT9O6L7ba181133   clk1xnege = ~clk1xnege;EDA中国门户网站|}9u R/n)pIu9Ov
  else if(coutnege == div2)EDA中国门户网站^ucoH1{*P4Mf
   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"doH5^$m
   coutpose = 0;EDA中国门户网站h:fL:z ~.\
  elseEDA中国门户网站7Y2}u-m#c!O
   coutpose = coutpose + 1;EDA中国门户网站Oin 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

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-08-26  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 8488
  • 日志数: 96
  • 建立时间: 2006-08-07
  • 更新时间: 2007-06-30

RSS订阅

Open Toolbar