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

2020-02-17 19:58发布

大家好,我写了一段CPLD程序(EPM240T100I5N),编译,下载都可以,但程序就是不运行,连顶层模块里置个灯都不亮,想了一晚上百思不得其解
程序附件和原理图我已上传
顶层模块功能有两个:1.将需要的电机圈位数据通过串口上传到电脑;2.通过计数器采集电机编码器脉冲,并通过比较器与目标圈位做比较
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
YingziSeek
1楼-- · 2020-02-17 22:12
不了解,顶
ococ
2楼-- · 2020-02-17 23:54
1.量一下复位信号和时钟有没有输入到FPGA。
2.检测管脚约束与板卡上的时钟和复位是否对应。
3.看一下LED灯是高电平亮还是低电平亮,对比代码中的赋值。
jlrhw
3楼-- · 2020-02-18 04:18
 精彩回答 2  元偷偷看……
jlrhw
4楼-- · 2020-02-18 08:17
本帖最后由 jlrhw 于 2015-1-30 15:09 编辑

这个是管脚配置,我都按原理图做了配置,另一个程序复位置灯管脚低的也是按图做的配置
ococ
5楼-- · 2020-02-18 12:12
jlrhw 发表于 2015-1-30 15:03
管脚都和原理图对应一一做了约束
当引脚输出设置低电平的时候灯亮,我在顶层模块的这里
  always @ (posedg ...

量一下时钟有没有。

或者你试试 always里面用异步复位不要用同步。
用同步的话如果你时钟没有输入那灯就不会亮。
jlrhw
6楼-- · 2020-02-18 14:44
我刚才将程序改成了异步复位

    always @ (posedge Clkin,negedge Resetb)
        if(!Resetb)
            begin
            DataIN<=16'd0;
                //StartM<=0;
                //CodeOUT<=16'd0;
                //ROUT<=0;
                //POUT<=0;
                //YOUT<=3'd0;
                LED1<=0;
                LED2<=0;
                LED3<=0;
                LED4<=0;
                LED5<=0;
                LED6<=0;
                SETCode<=16'd0;
                MRun<=0;
                Cnt1<=2'b0;
                end
            else
            begin
            SETCode<=16'd30000;
            case(Cnt1)
            2'b00:
                begin
                if(!StartM)
                  begin
                  Cnt1<=2'b01;
                  end
                else
                  begin
                  Cnt1<=2'b0;
                  end
                 end
            2'b01:
                                begin
                MRun<=1;
                if(YOUT==3'b001)
                  begin
                  Cnt1<=2'b10;
                  end
                else
                  begin
                  Cnt1<=2'b01;
                  end
                end
            2'b10:
                begin
                MRun<=0;
                Cnt1<=2'b0;
                end
          endcase
          end
又用万用表测试了一下复位信号,在按下复位开关时,电平由3.29V变为0。01V,复位信号应该是有了,可是板子还是没反应,CPLD好任性啊

一周热门 更多>