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

2020-02-17 19:58发布

大家好,我写了一段CPLD程序(EPM240T100I5N),编译,下载都可以,但程序就是不运行,连顶层模块里置个灯都不亮,想了一晚上百思不得其解
程序附件和原理图我已上传
顶层模块功能有两个:1.将需要的电机圈位数据通过串口上传到电脑;2.通过计数器采集电机编码器脉冲,并通过比较器与目标圈位做比较
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
jlrhw
1楼-- · 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
jlrhw
2楼-- · 2020-02-18 19:20
 精彩回答 2  元偷偷看……
jlrhw
3楼-- · 2020-02-19 01:12
问题解决了,谢谢楼上的朋友,我重新建了一个工程,把所有的文件都复制进去,然后编译下载后,就可以正常运行了,我怀疑之前是做了一个MODELSIM的前级仿真,估计是把QUARTUS的某个设置给改了,导致出现问题的,但究竟是哪个设置现在还搞不清楚,如果大家知道的话还请指点下,谢谢啦

一周热门 更多>