论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
port(clk: in std logic;
Q : out std logic vector(7 downto 0);
cao: out std_logic);
end counter;
architecture a_counter of counter is
signal Qs: std_logic_vector(7 downto 0);
signal reset: std_logic;
signal caolock: std_logic;
begin
process(clk,reset)
begin
if(reset=‘1')then
Qs<=“00000000”;
elsif clk'event and clk=‘1' then
Qs<=Qs+‘1';
end if;
end process;
reset<=‘1' when Qs=255 else
‘0';
caolock<=‘1' when Qs=0 else
‘0';
Q<=Qs;
cao<=reset or caolock;
end a_counter;
图2 PWM可逆控制电路原理图
在原理图中,延迟模块必不可少,其功能是对PWM波形的上升沿进行延时,而不影响下降沿,从而确保桥路同侧不会发生短路。其模块的VHDL程序如下:
entity delay is
port(clk: in std_logic;
input: in std_logic_vector(1 downto 0);
output:out std_logic_vector(1 downto 0)
end delay;
architecture a_delay of delay is
signal Q1,Q2,Q3,Q4: std_logic;
begin
process(clk)
begin
if clk'event and clk=‘1' then
Q3<=Q2;
Q2<=Q1;