集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1288|回复: 1

tlc5620的时序问题,各位看看问题出在哪里

[复制链接]
追风的云 发表于 2017-12-6 14:51:30 | 显示全部楼层 |阅读模式
module tlc5620 (
               input clk_50MHz,
                                        input rst_n,
                                        output da_clk,
                                        output da_load,
                                        output da_ldac,
                                        output da_data
                                        );
        wire clk_1MHz;
        reg [7:0] data;
   reg [3:0] num;
   always @(posedge clk_1MHz or negedge rst_n)
        begin
           if(!rst_n)
                begin
                   num<=4'd0;
                        data<=8'd100;
                end
                else
                begin
                   if(num==12)
                        begin
                          num<=4'd0;
                        end
                        else
                        begin
                           num<=num+1'd1;
                        end
                end
        end
        reg da_data_r;
        always @(posedge clk_50MHz or negedge rst_n)
        begin
           if(!rst_n)
                begin
                   da_data_r<=1'b0;
                end
                else
                begin
                   case(num)
                           4'd0:da_data_r<=1'b0;
                                4'd1:da_data_r<=1'b0;
                                4'd2:da_data_r<=1'b0;
                                4'd3:da_data_r<=data[7];
                                4'd4:da_data_r<=data[6];
                                4'd5:da_data_r<=data[5];
                                4'd6:da_data_r<=data[4];
                                4'd7:da_data_r<=data[3];
                                4'd8:da_data_r<=data[2];
                                4'd9:da_data_r<=data[1];
                                4'd10:da_data_r<=data[0];
                                4'd11:da_data_r<=1'b0;
                                4'd12:da_data_r<=1'b0;
                                default:;
                        endcase
                end
        end
   assign da_data=da_data_r;
        assign da_clk=clk_1MHz;
        assign da_load=(num==11)?1'b0:1'b1;
        assign da_ldac=(num==12)?1'b0:1'b1;
        pll pll_dut (
                    .areset(rst_n),
                    .inclk0(clk_50MHz),
                    .c0(clk_1MHz)
                                        );
endmodule
zxopenhl 发表于 2017-12-6 19:11:15 | 显示全部楼层
你可以讲仿真波形,放在这里看看,这样更容易找问题
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-4-20 09:34 , Processed in 0.060993 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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