可综合风格的计数器设计

可综合风格的计数器设计

ID:39555024

大小:30.50 KB

页数:3页

时间:2019-07-06

可综合风格的计数器设计_第1页
可综合风格的计数器设计_第2页
可综合风格的计数器设计_第3页
资源描述:

《可综合风格的计数器设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、可综合风格的计数器设计  写一个既紧凑又能满足定时要求的定时器可能会有一点棘手。根据你在面积和速度方面的要求,以及你所使用的具体器件的不同,你可能需要尝试完全不同的设计方法。  如果你需要设计一个计数速度很快的计数器,你最好先查找一下你所使用的FPGA设计工具中是否有厂家提供的现成的计数器单元。因为厂家提供的设计单元库针对特定的器件进行了优化,所以使用这些器件可以达到最快的速度。如果你的设计需要应用到几种不同的FPGA中,因而要求独立于特定的设计单元库,那么你就只能自己设计计数器了。当然,最容易的计数器设计就是count=count+1,但是你

2、可能得不到最好的结果。如果是计数值较小的计数器,使用序列器方法会得到较好的结果。例如:always@(count)  case(count)   2'h0:next_count=2'h1;  2'h1:next_count=2'h2;  2'h2:next_count=2'h3;  2'h3:next_count=2'h0;  endcaseendalways@(posedgeclkorposedgereset)begin if(reset)begin   count=0; end elseif(enable)begin   count=nex

3、t_count; endend另一种方法是异步产生计数使能,条件是使能信号必须没有毛刺并且与时钟信号有恰当的定时关系。例如:wiregate_clk=clk&enable;always@(posedgegate_clkorposedgereset)begin if(reset)begin   count=0; end elsebegin   count=count+1; endend另一种类型的计数器是波纹计数器。这种计数器适合速度较慢、要求低功耗的场合,可以用Verilog很容易地实现。例如:always@(count)begin  coun

4、t0=count[0];  count1=count[1];  count2=count[2];endalways@(posedgeclkorposedgereset)begin if(reset)begin   count[0]=0; end elsebegin   count[0]=~count[0]; endendalways@(posedgecount0orposedgereset)begin if(reset)begin   count[1]=0; end elsebegin   count[1]=~count[1]; endenda

5、lways@(posedgecount1orposedgereset)begin if(reset)begin   count[2]=0; end elsebegin   count[2]=~count[2]; endendalways@(posedgecount2orposedgereset)begin if(reset)begin   count[3]=0; end elsebegin   count[3]=~count[3]; endend

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。