原创 [博客大赛]CPLD入门笔记1----点亮LED

2014-4-29 14:32 2787 9 11 分类: FPGA/CPLD 文集: CPLD入门笔记

今天看了CPLD的教程,发现可编程芯片几乎都是以点亮LED作为最开始的入门实验,无论51单片机、STM8单片机、STM32单片机亦或是其他的芯片,感觉都是在控制它的引脚的电平,主要是了解如何让指定的引脚输出指定数的脉冲,指定的电平。好了,不多说了,看下代码,实现3个LED的轮番点亮

  计时一个单位时间,让LED0点亮,后进行移位,移位后等待下一个单位时间到来,便点亮LED1,后再移位,依次进行

module CPLD_LED_Delay(clk,rst_n,LED0,LED1,LED2);
   input clk;
   input rst_n;
   output LED0,LED1,LED2;
   
   reg[23:0] Counter;          //定义计数器,设置为寄存器类型
   //如果复位按键,计数器清零,否则进行计数
   always @(posedge clk or negedge rst_n)
      if(!rst_n)  Counter <= 1'd0;
      else Counter <= Counter + 1'b1;
   reg[2:0] led_reg;
   //如果Counter计数到值,
   always @(posedge clk or negedge rst_n)
      if(!rst_n) led_reg <= 4'b001;
      else 
        if(Counter == 24'd15_000_000)
          begin 
            if(led_reg == 4'b100)
            led_reg <= 4'b001;
            else
            led_reg <= led_reg << 1;    //led_reg执行左移一位  
          end
        
  assign {LED2,LED1,LED0} = led_reg;
 
endmodule
代码很简单,不用多解释
对“{}”的一点理解,例如assign {LED2,LED1,LED0} = led_reg;,如果变量led_reg = 100;则LED2 = 1,LED1= 0,LED0 = 0;
另外,若assign Num = {Numa , Numb};
Numa = 1010,Numb = 0110;
则Num = 1010 0110;
  
PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

leawise_816723039 2014-5-4 11:07

请问楼主用的是那个汇编语言啊?编程不用头文件吗?

残弈悟恩 2014-4-4 21:54

恩,学好点灯,等于成功了一般,哈哈
相关推荐阅读
用户1670771 2014-04-29 14:30
[博客大赛]CPLD入门笔记----初叩Verilog的大门
初次接触CPLD,初次接触Verilog,记录下自己学习的痕迹。 刚开始接触CPLD,曾听说CPLD/FPGA属于硬件层的可编程芯片,而Verilog属于硬件描述语言,其它便不知道了,感觉无从...
用户1670771 2014-04-29 14:29
[博客大赛]CPLD入门笔记2----驱动蜂鸣器
驱动蜂鸣器的实验,实验参考EDN网站的akuei2的SOS的思想,利用蜂鸣器鸣叫不同时间模拟SOS,但遇到的问题。   一开始程序写好后,下载到板子上,蜂鸣器几乎没有声音输出,或者说很小的...
用户1670771 2014-04-29 14:29
[博客大赛]CPLD入门笔记3----串口的发送与接收
这两天写了个串口发送的程序,串口发送与接收,在单片机看来,很简单,也许调用几条语句,就能实现所需要的功能,而CPLD实现起来,便应当了解到具体数据的传输操作。类似大多数传输协议,串口也有自己的传输...
用户1670771 2014-04-23 14:47
Verilog中case结构不能调用例化模块,但可以应用task或者function,task及其应用
任务就是一段封装在“task-endtask”之间的程序。任务是通过调用来执行的,而且只有 在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会 执行的。调用某个任...
用户1670771 2014-04-16 17:33
对轨对轨芯片的一点理解
    今天抄一块20mW激光器的板,板上有一个运放AD8552,查看参数时,发现这么一点“rail to rail”,查看了别的芯片,有的没有这个参数,“轨对轨”,便在网上搜了资料,同时在板上给...
我要评论
2
9
关闭 站长推荐上一条 /3 下一条