FPGA|CPLD|ASIC论坛
直播中

王小波

10年用户 67经验值
擅长:123924
私信 关注
[问答]

波特率发生模块仿真不通过,波形仿真不出来

  1. /***************** 程序说明 **************************************************
  2. 功能:波特率发生模块
  3. 描述:

  4. 在收到来自接收模块或者发送模块的启动信号
  5. baud_start后,启动波特率计数器 产生9600的比特率端口:clk:50Mhz时钟输入,
  6. Pin23; rst_n:        复位,低电平有效,
  7. Pin144;mid_flag:    接收/发送数据标志位,接收或者发送数据位的中间采样点baud_start:  波特率启动标志位;
  8. 波特率计算:eg:9600bps=9600bit/s9600bit/s=9600bit/1000 000us,那么传输每bit要1000 000/9600us,而一个时钟周期位0.02us,               
  9. 由此可计算出 1000 000/9600us有多少个0.02us,即多少个时钟,计算得:传输每bit要5208个时钟周期,计数从0到5207;

  10. *****************************************************************************/
  11. module baud_select(clk,rst_n,baud_start,mid_flag);
  12. input clk;
  13. input rst_n;
  14. input baud_start;
  15. output mid_flag;
  16. parameter bps9600=5207,  //波特率为9600bps
  17. //bps19200= 2603,        //波特率为19200bps
  18. //bps38400= 1301,        //波特率为38400bps
  19. //bps57600= 867,        //波特率为57600bps
  20. //bps115200= 433;        //波特率为115200bps
  21. //parameter bps9600_2= 2603,
  22. //bps19200_2= 1301,
  23. //bps38400_2= 650,
  24. //bps57600_2= 433,
  25. //bps115200_2=216;  
  26. `define  BPS_PARA 5207
  27. `define PS_PARA_2 2603
  28. //***************************************************************************波特率分频计数器,当启动信号标志位为1时计数开始**********//
  29. reg[12:0]cont;
  30. always @(posedge clk or negedge rst_n)
  31.        if(!rst_n)cont<= 13'd0;
  32.        else if((cont==`BPS_PARA)||!baud_start)cont<= 13'b0_0000_0000_0000;
  33.        else cont<=cont+1'b1;
  34.        align="left">
  35.        //*********************************************************************
  36.       发送一个位需要5028个时钟周期,在一个数据位中间时刻,即计数到2603时,接收或发送
  37.       标志位置,并传输给接收模块或者发送模块,以发送或接收数据;*********//
  38.       mid_flag_1;
  39.       always @(posedge clk or negedge rst_n)      
  40.       if(!rst_n)mid_flag_1<=1'b0;
  41.       else if((cont==`BPS_PARA_2))mid_flag_1<=1'b1;
  42.       else mid_flag_1<=1'b0;
  43.       assign mid_flag=mid_flag_1;

  44. /***************************************************************************/*
  45. endmodule

  • 仿真.png

回帖(11)

王小波

2014-11-17 09:19:43
求指导  求大神帮忙找一下问题的所在
举报

王小波

2014-11-17 11:13:30
等啊等大神帮忙解答
举报

王小波

2014-11-17 11:20:24
自己顶 波形就是仿真不成功啊
举报

王小波

2014-11-18 08:53:00
怎样才能成功啊
举报

刘桥荣

2014-11-18 10:06:46
程序没有问题啊,
举报

王小波

2014-11-18 16:37:55
引用: lqr74520 发表于 2014-11-18 10:06
程序没有问题啊,

您好 用quartus II您会仿真吗 我一直仿真不出来  不知道哪里出了问题
举报

王小波

2014-11-18 17:08:16
引用: lqr74520 发表于 2014-11-18 10:06
程序没有问题啊,


  大神  这个事uart的全部程序 你可以帮我看看吗 我这个波形仿真不出来
举报

    lesson5.zip (2014-11-18 17:07 上传)

    1.18 MB, 下载次数: 40

刘桥荣

2014-11-18 20:49:17
引用: bddukai 发表于 2014-11-18 16:37
您好 用quartus II您会仿真吗 我一直仿真不出来  不知道哪里出了问题

我不知道你指的仿真不成功是什么意思,具体哪出问题了啊?
举报

王小波

2014-11-19 08:36:23
引用: lqr74520 发表于 2014-11-18 20:49
我不知道你指的仿真不成功是什么意思,具体哪出问题了啊?

就是我的波形仿真之后,除了时钟信号 ,其他的信号全是0,不知道怎么能仿真正确
举报

刘桥荣

2014-11-19 09:45:48
引用: bddukai 发表于 2014-11-19 08:36
就是我的波形仿真之后,除了时钟信号 ,其他的信号全是0,不知道怎么能仿真正确 ...

我用的Quartus II 12.0,这个版本已经不自带vwf仿真工具了,都是用第三方工具***仿吧,
举报

tianya0720

2014-11-21 17:17:59
软件版本可以考虑换哈u
举报

更多回帖

×
20
完善资料,
赚取积分