打印

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

[复制链接]
1777|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我想实现的功能是有两路信号,第一路的下降沿的时候输出给低,紧接着第二路信号的下降沿的时候输出给高电平。第一路信号的一个周期执行一次,程序如下,仿真如下,为什么仿真图中第一路信号不是每个周期都执行啊
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;

仿真.PNG (7.24 KB )

仿真.PNG

相关帖子

沙发
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

粉丝