愿大神助攻

2019-03-25 07:26发布

我最近在做SD卡音乐播放器,想做一个按键模块,实现播放、暂停,上下曲切换,这个程序好像无法控制,大神帮忙看下程序。
//部分控制程序
reg [10:0]cnt=0;
reg pause=0;
reg back=0;
reg next=0;
reg [32:0]temp=0;

always@(posedge en)
begin
        case (cmd)
                2'b00: begin pause<=0; next<=0;back<=0;end
                2'b01: begin pause<=1; next<=0;back<=0;end
                2'b10: begin back<=1; end
                2'b11: begin next<=1; end
                endcase
end

                       
//SD卡的sec地址处理程序

always @(posedge SD_clk )
begin
        if(counter==10'd1022)  
           read_sec<=SADDR;
        else if(data_come)
        begin
                if(read_sec<OADDR)
                begin
                        if(!pause)
                        begin
                                read_sec<=read_sec+1'b1;       //SD卡sec地址加1
                        end
                       
                        if(back)
                        begin
                                read_sec<=add_pre;
                        end
                       
                        if(next)
                        begin
                                read_sec<=add_nxt;
                        end
                       
                        if(cnt==64)
                        begin
                                add_nxt<={temp[7:0],temp[15:8],temp[23:16],temp[31:24]}+add_now;
                        end
                        else
                        begin
                                cnt<=cnt+1;
                                temp[31:1]<=temp[30:0];
                                temp[0]<=SD_dataout;
                        end
                       
                        if(read_sec==add_nxt)
                        begin
                                cnt<=0;
                                add_pre<=add_now;
                                add_now<=add_nxt;
                        end
                end
                else
                   read_sec<=SADDR;
        end
end 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
低调的路人
2019-03-25 23:01
看的我一口老血吐了出来,这样的代码 老板直接炒鱿鱼
按键模块主要用了上升沿检测和下降沿检测,比较常见,没问题。但是整体代码问题很大。

逻辑不够清晰,模块不够分明。
部分模块的端口定义有错误。wire [3:0]signal?这是什么鬼?例化少了rst_n。led?又是什么鬼?
代码风格不统一,我仿佛看见不同的人的程序强行拼在一起。

大兄弟,个人意见,别往心里去哈  ,祝代码早日调试成功

一周热门 更多>