求助!!!编译,下载都可以,但程序就是不运行,连顶层

2020-02-17 19:58发布

大家好,我写了一段CPLD程序(EPM240T100I5N),编译,下载都可以,但程序就是不运行,连顶层模块里置个灯都不亮,想了一晚上百思不得其解
程序附件和原理图我已上传
顶层模块功能有两个:1.将需要的电机圈位数据通过串口上传到电脑;2.通过计数器采集电机编码器脉冲,并通过比较器与目标圈位做比较
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
jlrhw
2020-02-18 16:33
大哥如果方便的话,能否下一次,找个板子把引脚改一下,就OK了.看看灯点的亮不,总觉得是QUARTUS II哪个地方设置的不对导致片子不工作啊

我在家调试,有万用表,就是没有示波器,悲催啊,但我分析时钟应该是有的,之前我下载了一个这样的程序,运行是正常的

`include "gen_divd.v"
`include "uart_x.v"

module uart_x_top(
                                        Resetb,
                                        Clkin,
                                        Txd
                                        /*
                                        //test
                                        TxFinishTS,
                                        XmitPlus,
                                        TxClkTS,
                                        Cnt,
                                        TxData
                                        */
                                );
        input Resetb,Clkin;
        output Txd;
        /*
        //test
        output TxFinishTS;
        output XmitPlus;
        output TxClkTS;
        output [1:0] Cnt;
        output [7:0] TxData;
        */
        reg XmitPlus;
        reg [7:0] TxData;
        reg [3:0] ByteCnt;
        reg [1:0] Cnt;
       
        wire TxFinish;
        wire TxClk;
       
        defparam Gen_TxClk.divdFACTOR=174,Gen_TxClk.divdWIDTH=7;//分频出115200的波特率
        gen_divd Gen_TxClk(.reset(Resetb),.clkin(Clkin),.clkout(TxClk));//端口名称关联

        uart_x UartTx(.Bclk(TxClk),.Resett(Resetb),.Txd(Txd),
                                .XmitCmdp(XmitPlus),.TxdBuf(TxData),.TxDone(TxFinish));

        always @ (posedge Resetb or posedge TxClk )
                if(Resetb)
                        begin
                        ByteCnt<=4'd0;
                        Cnt<=2'b0;
                        XmitPlus<=0;
                        end
                else//循环发送a-j,共10个字母
                        begin
                        Cnt<=Cnt+1'b1;
                        case(Cnt)
                        2'b00:
                                begin
                                XmitPlus<=1;
                                TxData<=8'h61+ByteCnt;
                                end
                        2'b01:
                                XmitPlus<=0;
                        2'b10:
                                begin
                                if(TxFinish)
                                        begin
                                        Cnt<=2'b0;
                                        ByteCnt<=ByteCnt+1'b1;
                                        if(ByteCnt>=9)
                                                ByteCnt<=4'b0;
                                        end
                                else
                                        Cnt<=2'b10;
                                end
                        endcase
                        end
        /*               
        assign TxFinishTS=TxFinish;
        assign TxClkTS=TxClk;
        */
endmodule

一周热门 更多>