【精品博文】从零开始学FPGA系列练习一:计数器设计

啦啦啦,我又开始写博客了,希望这次能一直坚持下去,养成总结的好习惯脉冲功能描述:当收到en=1时,dout产生一个宽度为10的高电平脉冲。信号列表:信号名I\O位宽clkI1enI1doutO1波形图:

从零开始学FPGA,计数器练习。一、 计数器编写规范1. 计数器规则1:计数器逐一考虑三要素,初值、加1条件和结束值;2. 计数器规则2:以下是计数器一般形式。assign   加1条件 = xxxx;assign   结束条件 = (加1条件)&&(结束值)always  @(posedge clk or negedge rst_n)beginif(rst_n==1'b0)begincnt <= 初值; 1’b0endelse if(加1条件) begin  dout==1if(结束条件)      cnt ==9cnt <= 初值;   0elsecnt <= cnt +1;endend3. 计数器规则3:计数初值必须为0;4. 计数器规则4:结束条件必须是加1条件;5. 计数器规则5:结束后必须回到0;6. 计数器规则6:结束值必须是n-1的形式;7. 计数器规则7:assign形式必须为:(加1条件)&&(cnt==计数值-1)8. 计数器规则8:限定范围必须用“>=”和“<”两种符号;9. 计数器规则9:cnt==x-1,不表示数到x;只有当“(cnt==x-1)”并且“加1条件”有效时,才表示数到x。10. 计数器规则10:设计步骤,先写计数器的always段,条件用名字代替;然后用assign写出加1条件;最后用assign写出结束条件。11. 计数器规则11:加1条件必须与计数器严格对齐。其他信号向计数器对齐。12. 计数器规则12:命名必须符号规范;13. 计数器规则13:减1计数器暂时不用。根据练习题目,用TimeGen实现的波形,计数从0~9。

代码实现如下:module(clk,rst_n,en,dout);input clk;input rst_n;input en;output dout;wire clk;wire en;reg  dout;reg[1:0] cnt;assign add_cnt =(dout ==1);assign end_cnt =(cnt == 9)&&add_cnt;always @(posedge clk or negedge rst_n)beginif(rst_n == 1'b0)begincnt <= 1'b0;endelse if(add_cnt) beginif(end_cnt)cnt <= 0;elsecnt <= cnt+1;endendalways @(posedge clk or negedge rst_n )beginif(rst_n==1'b0)begindout <= 1'b0;endelse beginif(en==1'b1)begindout <= 1'b1;endelse beginif(end_cnt)dout <= 0;elsedout <= dout;endendendendmodule

(0)

相关推荐

  • 二进制转BCD码需要几步?

    Hi,大家好!我是至芯科技的李老师. 今天讲课的题目比较有意思,它是一个小问题:把二进制变成BCD码需要几步? 请大家思考一下.有同学可能回答需要三步,为什么啊? 因为啊,把大象放进冰箱里需要三步,第 ...

  • 基于FPGA的数字电路实验7:流水灯的实现

    原创 Daniel收录于话题#数字电路9个继年前介绍的时序逻辑电路之时钟分频后,今天我们来介绍第7讲:流水灯.流水灯,有时候也叫跑马灯,是一个简单.有趣又经典的实验,基本所有单片机的玩家们在初期学习的 ...

  • 二进制转BCD码

    应用: 用fpga实现对数码管显示,以前通常的方法是进行整除和取余进行运算,但是fpga并不擅长乘法除法运算,所以可以用BCD码来转换. BCD码:通俗的可以理解为用四位二进制数表示一位十进制数字.例 ...

  • 基于FPGA的AD采集

    LVDS(Low-Voltage Differential Signaling)低电压差分信号,是一种低功耗.低误码率.低串扰和低辐射的差分信号技术. KSPS(Kilo Samples per Se ...

  • 【精品博文】基于FPGA的串口通信时序设计

    这篇博文主要总结一下串口通信的收发时序.上周基于IIC,SPI,RS232串口写了几个简单的小实验,感觉对于这种常用协议的写法大体上都差不多,主要是读懂时序图,然后根据时序图,用HDL语言描述出来就可 ...

  • 【精品博文】吴明系列博文:FPGA 需要怎样的编程语言来做HLS?

    <FPGA 何去何从>中我提到FPGA 更高级别的设计方式,姑且就叫HLSL(High Level Synthesis Language)吧,区别与Xilinx的 HLS.本文我就聊聊什么 ...

  • 【精品博文】吴明系列博文 FPGA 何去何从(四)

    "聪明的数据结构配上愚蠢的代码,远比反过来要好得多"---<大教堂与集市> "让我看你的流程图但不让我看表,我会仍然搞不明白.给我看你的表,一般我就不再需要你 ...

  • 【精品博文】吴明系列博文 FPGA 何去何从(三)

    继续一本正经的胡说八道 FPGA的下轮爆发很可能离不开systemverilog,至少前期的点火起步阶段有sv的主要参与. 为什么是sv?,sv有什么特别之处吗? sv验证方面的东西我就不说了,一是我 ...

  • 【精品博文】吴明系列博文 FPGA 何去何从(二)

    胡思乱想第二篇 现在FPGA开发的瓶颈在哪呢,又怎么破呢 曾经看过一篇文章说verilog是的可控能力范围是1W门,就是说verilog设计规模超过1w门的话,就比较难把控了,当然这个1w只是个模糊的 ...

  • 【精品博文】吴明系列博文 FPGA 何去何从(一)

    文章只是鄙人的胡思乱想,莫当真! FPGA发展30年,现在也到了关键时间点!首先说说腾讯FPGA云. 腾讯FPGA云发布是直接促成我写这篇博文的主要原因,免得以后被说只是事后诸葛亮.其实现在我也只是知 ...

  • 【砼学汇-基础篇】从零开始学电气系列之一

    很多砼友在泵送设备使用维修过程中经常会遇到各种故障,其中电气故障是让大多数人头疼的,因为电气方面的知识需要有一定的基础才能进一步提升,为了帮助砼友们提升自己的技能水平,[砼学汇]将由浅入深地推出系列电 ...

  • 【砼学汇-基础篇】从零开始学电气系列之二

    接触器 接触器在砼泵与搅拌站的电气系统中使用的比较多. 接触器是可以频繁地接通和切断电动机或其他负载主电路的一种控制电器.接触器具有控制容量大.工作可靠.寿命长等特点,适用于频繁操作和远距离控制. 接 ...

  • 【砼学汇-基础篇】从零开始学电气系列之三

    今天我们来认识几个泵车的电气元件 控制器 整个电气系统的心脏 主控制器-主程序的软件运行载体,负责各项功能的逻辑实现. 型号:CR0032 供电电压:0-24V 输入形式:电流.高电平/低电平.频率 ...