打印
[FPGA]

请教一个关于VERILOG中分频记数的例子

[复制链接]
2337|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
miantan|  楼主 | 2007-1-15 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
module leddot(clock,ldoa,ldob);
  input clock;
  output[7:0] ldoa;
  output [7:0] ldob;
  
  reg[7:0] ldoa;
  reg[7:0] ldob;
  reg[32:0]count;
  
  always@(posedge clock) 
  begin 
       count=count+1;
       ldob=0;
   end 
   always@(count[25:23])
   begin  
     case(count[25:23])
     4'h0:ldoa=8'hfe;
     4'h1:ldoa=8'hfd;
     4'h2:ldoa=8'hfb;
     4'h3:ldoa=8'hf7;
     4'h4:ldoa=8'hef;
     4'h5:ldoa=8'hdf;
     4'h6:ldoa=8'hbf;
     4'h7:ldoa=8'h7f;
     4'h8:ldoa=8'hff;
     4'h9:ldoa=8'hff;
     4'ha:ldoa=8'h00;
     4'hb:ldoa=8'h00;
     default:ldoa=8'hff;
     endcase 
     end 
     endmodule
     
此例中count[32:0]什么意思,COUNT[25:23]中25,23 个代表什么意思!

相关帖子

沙发
ttl_cmos| | 2007-1-15 11:56 | 只看该作者

re

一共有0-32个寄存器,其中25:23表示代号为25,24,23的寄存器

使用特权

评论回复
板凳
miantan|  楼主 | 2007-1-15 13:59 | 只看该作者

再论!

那么照你所言,COUNT[25:23]与COUNT[12:10]意思一样了,只是提供译码之用啊 !

使用特权

评论回复
地板
ttl_cmos| | 2007-1-15 16:49 | 只看该作者

re

不一样啊,count25 24,23怎么可能和12 11 10一样的。count生成的硬件都是触发器,但是代号是区别你用哪个触发器啊。不过要生成触发器你最好用非组塞性符号,因为时序电路都是用非组塞的符号。
count=count+1;
最好改成
count<=count+1;

使用特权

评论回复
5
miantan|  楼主 | 2007-1-15 17:56 | 只看该作者

哦?

照你言,count25,24,23与12,11,10只是生成触发器代号不一样啊!
但是实际我下载程序到板字上时,用count[12:10]的扫描频率比count[25:23]快很多啊!我知道是有个时序的问题没弄懂了,请赐教!

使用特权

评论回复
6
ttl_cmos| | 2007-1-15 18:15 | 只看该作者

re

这是肯定的拉。always@()里面的触发条件都不同拉。
你每来一次clock,count才+1
加多少才改变25,24,23中其中一个值,
如果是12,11,10差不多比它少了一半的记数啊.

使用特权

评论回复
7
miantan|  楼主 | 2007-1-15 21:02 | 只看该作者

这样啊!

多谢,有点眉目了,如果时钟周期是11MHz,那count[12:10]的记数频率是11000000/2^11了大于25HZ,人眼分辨不出了,所以动态扫描出一副静态的画,是这样 吗!

使用特权

评论回复
8
ttl_cmos| | 2007-1-15 21:51 | 只看该作者

re

always@()里面的参数只要发生变化,例如12:10=000
来了一次clock后,变成是了001或101之类的,就执行它里面的语句。
因为12:10后面还有9:0个的触发器。也就相当于一个10位的计数器.
也就是当9:0等于10'b1111111111是来一个clock,然后进位给代号为10的触发器,假设一开始12:10是000,现在10变了1,就是001,那么就执行你哪个解码的语句。
如果是25:23.后面还有22:0个记数器。假设25:23一开始也是000,
只有当22:0=23'b11111.........全1,来一个clock,23由0变1。
就执行你哪个解码语句.
这就是为什么12:10比25:22快的理由。

使用特权

评论回复
9
miantan|  楼主 | 2007-1-16 09:03 | 只看该作者

恩!

是这个道理!多谢了!

使用特权

评论回复
10
whyand100| | 2007-1-23 16:12 | 只看该作者

提个问?

顺便提个问题:在case括号内的表达是3位二进制数,而在下面的分支里是有4位二进制数?盼高手解答!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

20

帖子

0

粉丝