haizheng4 发表于 2013-6-18 17:37:52

VHDL代码逻辑功能不正常

使用EPM7032的CPLD 控制代码如下--step_motor1 control       
        PROCESS (pwmin11,pwmin12,pwmin13,pwmin14,mode)
        VARIABLE count1: integer range 0 to 4;
        BEGIN
                if(mode='1') then
                        step_motor1 <= (pwmin14,pwmin13,pwmin12,pwmin11);                               
                else
                IF(pwmin11'event and pwmin11='1') THEN
                        count1 := count1 + 1;
                        if(count1=1)then
                                step_motor1 <= "1100";
                        elsif(count1=2)then
                                step_motor1 <= "0110";       
                        elsif(count1=3)then
                                step_motor1 <= "0011";       
                        elsif(count1=4)then
                                step_motor1 <= "1001";
                                count1 := 0;
                        end if;
                end if;
                end if;
        end process;现在的问题是这样
使用mode =0时,将PWMIN11分成,四个PWM输出,正常
使用mode =1时,step_motor0~2输出正常,PWMIN14对应的step_motor3管脚无输出
然后将step_motor3管脚重新分配一个别的管脚,波形正常

这种情况,是哪里的问题啊,好像不是代码的原因也,求教大家,谢谢!
页: [1]
查看完整版本: VHDL代码逻辑功能不正常