微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 波特率发生器

波特率发生器

时间:10-02 整理:3721RD 点击:
请问如下这个程序,究竟是多少分频的?实际上是想实现16倍波特率的分频,正常分频系数应该是208,可我怎么觉得他这么写的话,就是209分频了呢?

  1. entity baud is
  2. port(clk:in std_logic;
  3. bclk: out std_logic
  4. );
  5. end baud;
  6. --*************************************************
  7. architecture b of baud is
  8. begin
  9. process(clk)
  10. variable cnt:integer:=0;
  11. begin
  12. if (clk'event and clk='1') then
  13. if cnt>=208 then cnt:=0;bclk<='1';
  14. else cnt:=cnt+1;bclk<='0';
  15. end if;
  16. end if;
  17. end process;
  18. end b;

复制代码

你的理解是对的。

这个段程序,确实是209分频,但对于低速的串口波特率来说,完全不会影响功能。

是209分频,因为cnt=209时才会复位cnt和bclk。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top