打印

关于仿真!急!急!急!

[复制链接]
2003|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
程序如下:module ad_driver2(clk,rst_n,sdata_in,sdata_out,cs_n,sclk
    );
         input clk;
         input rst_n;
         input sdata_in;
         output cs_n;
         output sdata_out;
         output sclk;
         
         reg cs_n;
         reg [2:0] count=0;
         reg [4:0] cnt=0;
         
         reg [15:0] sdata_out_buffer=0;
         reg sclk_buffer=0;
         reg state,next_state=0;
         always @(posedge clk)
                begin
                        if(!rst_n)begin
                                count<=0;
                                sclk_buffer<=0;
                        end
                        else begin
                                if(count==3'b111)begin
                                        count<=3'b000;
                                        sclk_buffer<=~sclk_buffer;
                                end
                        else begin
                                count<=count+3'b001;
                                end
                        end
                end
          always @(negedge sclk_buffer)begin
                if(!rst_n)
                        cnt<=0;       
               
                else
                        if(cnt==17)
                         cnt<=0;
               
                else
                        cnt<=cnt+1;
          
          end
          always @(negedge sclk_buffer)begin
                if(!rst_n)
                        state<=1'b0;
                else
                        state<=next_state;
          end
          always @(state,cnt)begin
                case(state)
                        1'b0: begin
                                                if(cnt==1)
                                                        next_state=1'b1;
                                                else
                                                        next_state=1'b0;
                                        end
                        1'b1: begin
                                                if(cnt==17)
                                                        next_state=1'b0;
                                                else
                                                        next_state=1'b1;
                                        end
                endcase
                end
                always @(negedge sclk_buffer)begin
                        case (next_state)
                                1'b0:begin
                                                cs_n<=1;
                                                sdata_out_buffer<=0;
                                               
                                end
                                1'b1:begin
                                                cs_n<=0;
                                                sdata_out_buffer<={sdata_out_buffer[14:0],sdata_in};
                                end
                        endcase       
                end
                assign sclk=sclk_buffer;
                assign sdata_out=sdata_out_buffer;
endmodule
adata_out输出应该是个数?为什么仿真出来的是这样好像只是sdata_buffer[0],是我程序写错了还是仿真哪块设置的不对?

相关帖子

沙发
field0801|  楼主 | 2013-1-30 16:34 | 只看该作者
[img]C:\Users\Administrator\Desktop\QQ截图20130130163135.png

使用特权

评论回复
板凳
field0801|  楼主 | 2013-1-30 16:36 | 只看该作者

QQ截图20130130163135.png (17.32 KB )

QQ截图20130130163135.png

使用特权

评论回复
地板
field0801|  楼主 | 2013-1-30 16:41 | 只看该作者

想让sdata_out输出一个数?为什么是一位?sdata_out_buffer是16位啊?


使用特权

评论回复
5
ifpga| | 2013-1-30 16:53 | 只看该作者
检查一下你的 testbench,看是不是 sdata_out 代义的有问题

使用特权

评论回复
6
ifpga| | 2013-1-30 16:53 | 只看该作者
定义

使用特权

评论回复
7
ifpga| | 2013-1-30 16:54 | 只看该作者
output sdata_out; 这里定义有问题,一定没有看 warning

使用特权

评论回复
8
hawksabre| | 2013-1-30 20:10 | 只看该作者
不是很了解   帮你顶一个   呵呵   顶起来  呵呵

使用特权

评论回复
9
field0801|  楼主 | 2013-1-31 19:41 | 只看该作者
ifpga 发表于 2013-1-30 16:54
output sdata_out; 这里定义有问题,一定没有看 warning

是的!assign左边一般是标量!适量必须是wire型,改一下就好了!非常感谢!

使用特权

评论回复
10
field0801|  楼主 | 2013-1-31 19:42 | 只看该作者
hawksabre 发表于 2013-1-30 20:10
不是很了解   帮你顶一个   呵呵   顶起来  呵呵

谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

12

帖子

0

粉丝