找回密码
 注册
关于网站域名变更的通知
查看: 206|回复: 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 编辑
    ) S, \2 M5 N, A$ W! P. z% p# b; t' f% r& {7 x1 ?
    我自己做了一个小模块,来实现检测输入信号的上升沿的功能。VCS和Vivado synthesis post timing仿真运行都符合预期,但是生成的bit文件下载到FPGA则不对。fpga平台是avnet的ultra96,使用的是zynq ultrascale芯片。veriloG代码如下:
    8 r  o5 {; L' ^: [4 y
    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的代码如下:
    ( w4 I" P5 ~4 A+ \7 z, o! M, d6 [
    / d( k5 ]" `& mfind_risedge uut_clk_risedge(clk_13p56m, clk_13p56m_re);
    9 ^: Y* j2 ~) g: J1 a; ]( M8 nfind_risedge uut_data_risedge(data_rx_change, data_rx_change_re);* m6 K( M% S( N0 ?/ \
    vivado synthesis post timing仿真结果:
    ; I, g. g/ T- b. V* c' Q1 L
    8 O. O2 `- ^5 U* P/ I
    下载到FPGA运行后的结果:+ b7 y7 {$ G8 Y2 {

    $ k, I' E" G! a9 L$ G& q/ J+ K
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-1-26 16:00 | 只看该作者
    //------问题结尾描述没结束嚒?2 Z* D& i) S3 J6 W2 K9 b8 U7 s* s
    代码问题。(你的代码既然可以仿真通过,逻辑上没有大问题)5 P* K- D) i* t* z; W! G
    你使用#32这种格式赋值,仿真没有问题,但是它不支持实际综合布线运行。
    ! p. B+ L, m6 ~6 x8 F. F//------建议
    " ]2 q2 f" t, y( D% Q修改代码,增加计数模块。
  • TA的每日心情
    开心
    2022-1-24 15:10
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-1-26 16:01 | 只看该作者
    换句话说,你的代码运行结果是:
    * Z& p5 N! B( I& `  B3 T输出实际一直是0或者1,且状态保持不变。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-30 13:44 , Processed in 0.218750 second(s), 23 queries , Gzip On.

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

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

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