请教各位大哥一个VHDL程序问题

2025-05-09 09:11:15
推荐回答(1个)
回答1:

你的信号,off_count在两个进程中同时赋值,要知道进程的运行是并行的,因此会出错,你可以把进程process(pwm1_tmp)和进程 process(clk,off_int)合在一起,但是这又会出现一个问题,就是一个进程中的同一变量不能用两个时钟沿控制,我看了下你的程序, 你的
pwm1_tmp'event and pwm1_tmp='0' 这句就可以等同于pwm1_tmp='0' 这句,没必要用pwm1_tmp的下降沿来使能,总的改法如下:
process(pwm1_tmp,clk,off_int)
begin
if pwm1_tmp='0' then
off_count<=0;
elsif clk'event and clk='1' then
if off_count off_count<=off_count+1;
end if;
end if;
end process;