打印

刚开始学习遇到的过程,麻烦大佬们看看怎么解决

[复制链接]
596|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
oovoo|  楼主 | 2017-10-14 11:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
按照FPGA视频上所讲的例子做了一个序列检测11101的状态机程序,在.do文件中使用了virtual type,但是在仿真波形中new_state变量少了s5 和s6 两个状态,这是怎么回事,弄了半天弄不明白,求帮助

virtual        type {
{01 S1}
{02 S2}
{04 S3}
{08 S4}
{10 S5}
{20 S6}
} vir_new_signal


状态机如下:


parameter        s1=6'b00_0001;
parameter        s2=6'b00_0010;
parameter        s3=6'b00_0100;
parameter        s4=6'b00_1000;
parameter        s5=6'b01_0000;
parameter        s6=6'b10_0000;
reg                [5:0]        Curr_st;       
always @(posedge sclk,negedge rst_n)
        if(rst_n == 1'b0)
                Curr_st <= s1;
        else
                case(Curr_st)
                        s1:if(A == 1'b1)
                                                Curr_st <= s2;
                           else
                                                Curr_st <= s1;
                        s2:if(A == 1'b1)
                                                Curr_st <= s3;
                           else       
                                                Curr_st <= s1;
                        s3:if(A == 1'b1)
                                                Curr_st <= s4;
                           else       
                                                Curr_st <= s1;
                        s4:if(A == 1'b0)
                                                Curr_st <= s5;
                        s5:if(A == 1'b1)
                                                Curr_st <= s6;
                           else
                                                Curr_st <= s1;
                        s6:                        Curr_st <= s1;
                        default:Curr_st <= s1;
                endcase



相关帖子

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

本版积分规则

3

主题

3

帖子

0

粉丝