找回密码
 注册
关于网站域名变更的通知
查看: 222|回复: 2
打印 上一主题 下一主题

FPGA 一个简单的FDCE模块vivado实现后的功能不符合预期

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-1-26 15:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    本帖最后由 duhe3hfu 于 2022-1-26 15:14 编辑
    . |( r; m7 j) @% ~; ~% o7 |5 f! K% Z% M& {' \# {
    我自己做了一个小模块,来实现检测输入信号的上升沿的功能。VCS和Vivado synthesis post timing仿真运行都符合预期,但是生成的bit文件下载到FPGA则不对。fpga平台是avnet的ultra96,使用的是zynq ultrascale芯片。veriloG代码如下:
    ' j9 W  f! h2 |+ b8 i
    module find_risedge(input data, output data_r);
    reg data_r = 1'b0;
    always @(posedge data or posedge data_r) begin
    if(data_r)
      data_r <= #32 0;
    else if (data)
      data_r <= 1;
    end
    endmodule
    调用module的代码如下:
    % D: x6 n& @* S. t8 a4 R% M  f) n1 p4 e5 F0 }8 [: h7 n* y% W" n, d% e
    find_risedge uut_clk_risedge(clk_13p56m, clk_13p56m_re);
    3 W  ^% Y7 |, F4 }/ M; i$ {find_risedge uut_data_risedge(data_rx_change, data_rx_change_re);  k& S2 A' I2 ]2 O0 E% d
    vivado synthesis post timing仿真结果:
    2 l# `3 ~+ Q3 S6 C- c" F$ I
    & z/ N. D6 i6 v) Q3 q# E
    下载到FPGA运行后的结果:- @- u6 s9 K8 Z$ {+ {+ n

    0 U/ ]6 M, o- r: v  L  `. e
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-1-26 16:00 | 只看该作者
    //------问题结尾描述没结束嚒?7 T& N, ?) |- S3 a
    代码问题。(你的代码既然可以仿真通过,逻辑上没有大问题)
    ) t6 ?$ `$ c2 I你使用#32这种格式赋值,仿真没有问题,但是它不支持实际综合布线运行。' P) M8 q: U+ D, R$ k9 {) _
    //------建议& M% d# s& C3 l* C
    修改代码,增加计数模块。
  • TA的每日心情
    开心
    2022-1-24 15:10
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-1-26 16:01 | 只看该作者
    换句话说,你的代码运行结果是:
    9 ?  x/ A7 {: d输出实际一直是0或者1,且状态保持不变。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-25 07:54 , Processed in 0.234375 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表