帮我看下问题出现在哪 谢谢

[复制链接]
2179|3
 楼主| h495093331 发表于 2013-7-13 16:26 | 显示全部楼层 |阅读模式
我想实现的功能是有两路信号,第一路的下降沿的时候输出给低,紧接着第二路信号的下降沿的时候输出给高电平。第一路信号的一个周期执行一次,程序如下,仿真如下,为什么仿真图中第一路信号不是每个周期都执行啊
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity abcd is
        port(pwm_1:in std_logic;
                 com1:in std_logic;
                 pwm1:buffer std_logic);
end;
architecture aaa of abcd is       
begin
process(pwm_1)
        begin
                if pwm_1'event and pwm_1='0' then
                pwm1<='0';
                end if;
                if com1='0' then
                pwm1<='1';
                end if ;
end process;
end;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
Ynnus 发表于 2013-7-17 16:38 | 显示全部楼层
你的代码表达的意思是PWM_1下降沿时PWM1变0。
但是,如果PWM_1下降沿时COM1为0,则PWM1不是0而是1。
波形完全正确。

你的PWM_1和COM1不是同周期也不同相。
梅花望青竹 发表于 2013-7-19 00:50 | 显示全部楼层
根据周期来实现的吧
梅花望青竹 发表于 2013-7-19 00:51 | 显示全部楼层
楼主要实现什么功能的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部