[求助] 音乐发生器 这样写代码 能行的通么

leomeng   2011-11-15 09:07 楼主

module music(clk,h);
input clk;         //-----------50MHZ
output h;
reg clk_4,clk_5;
reg [19:0] div ;
reg   [7:0] counter;
reg   [19:0]  cnt,rnt1,rnt2,rnt3;

//-------------------------音符定义

parameter
        D1=
        D2=
        D3=
        M1=
        M2=
        M3=
        H1=
        H2=
        H3=

//-----------------------节拍控制模块
always @(posedge clk_4)
if(counter==  )
   counter<=0;
else counter<=counter+1;
case(counter)
   0:  div=
   1:  div=
   2:  div=
   3:  div=
   4:  div=
   5:  div=
   6:  div=
   7:  div=
   8:  div=
defualt: div='bfffffff;
// ------------------------ 频率产生模块
always @(posedge clk_5)   
if(cnt==div)
   begin
     h<=~h;
     cnt<=0;
   end
else
   cnt<=cnt+1;

 

 

//-------------------------clk_5产生模块 750 Hz

always @(posedge clk)
if(cnt2== )
begin
  cnt2=0;
  clk_5<=~clk_5;
end
else cnt2<=cnt2+1;

 


//--------------------------clk_4 产生模块 4HZ
always @(posedge clk)
if(cnt3==)
begin
  cnt3<=0;
   clk_4<=~clk_4;
end
else
cnt3<=cnt3+1;

endmodule

 

节拍时钟clk_4 和 基准时钟 clk_5放到这里没有问题吧?

无一事而不学,无一时而不学

回复评论 (8)

引用: //-------------------------clk_5产生模块 750 Hz

always @(posedge clk)
if(cnt2== )
begin
cnt2=0;
clk_5<=~clk_5;
end
else cnt2<=cnt2+1;




//--------------------------clk_4 产生模块 4HZ
always @(posedge clk)
if(cnt3==)
begin
cnt3<=0;
clk_4<=~clk_4;
end
else
cnt3<=cnt3+1;

endmodule



节拍时钟clk_4 和 基准时钟 clk_5放到这里没有问题吧?

 

有点问题!

 (CNT==?) 差数据哦!

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2011-11-15 09:45

回复 沙发 eeleader 的帖子

这是个大体的构架 ,做的时候 我会写上相对应的数据 ;有的书上说,分频最好不要用计数器去分,用quartus自带的pll锁相环去实现;有区别么?
无一事而不学,无一时而不学
点赞  2011-11-15 12:50

一样的问题

点赞  2011-11-19 15:17

回复 板凳 leomeng 的帖子

用计数器去分频的话是你的一个大概计数,但是如果用pll锁相环分频的话会好些,但是如果是分频的话建议差不多的时候还是用自己写的程序吧,pll锁相环如果用于分频的话,占用资源比较多,还是用于倍频比较好!
我爱电子!
点赞  2011-11-19 15:43
楼主学的不错啊  多向留住讨教啊
点赞  2011-11-19 15:53

一个音乐器引发大家讨论分频器设计,真好真好!

 

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2011-11-21 08:37

回复 6楼 常见泽1 的帖子

一起学习把 学习才能满足我的虚荣心
无一事而不学,无一时而不学
点赞  2011-11-21 18:28
要学的东西太多了 而且自学的话 不是很系统  所以哪里不会问哪里 只能这样了 我同学跟我说让我做一个sdram  我看了看人家的代码 有点难度。。。
无一事而不学,无一时而不学
点赞  2011-11-21 18:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复