H
Hawker
Guest
Forgive me I am a VHDL novice at best. Trying to get though this CPLD
design as best I can and could use some help. I am trying to get this
working on CoolRunnerII CPLD.
I have an up down counter that counts up under one stimuli's and down on
another. No matter how I play with the VHDL I get an warning that it
can't be synthesize or it can't have two clocks.
The current code looks like this
address_counter: process (addr_counter, FX2_MAN_nRESET, MI_CLK_PIXEL,
FX2_MA_CNT_nUPDN, FX2_MA_RD, nRESET )
begin
if FX2_MAN_nRESET = '0' or nRESET = '0' then
addr_counter <= "0000000000000000000000";
elsif rising_edge(MI_CLK_PIXEL)and FX2_MA_CNT_nUPDN
= '0' AND MI_LINE_VALID = '0' AND MI_FRAME_VALID = '0' then -- Data in
to PSRAM
addr_counter <= addr_counter + 1;
elsif rising_edge(FX2_MA_RD) then
-- Data out to FX2
addr_counter <= addr_counter - 1;
end if;
end process address_counter;
Alternitivly we can frame this with FX2_MA_CNT_nUPDN since we would only
count up on MI_CLK_PIXEL if low and down on FX2_MA_RD if high.
Thanx
Hawker
design as best I can and could use some help. I am trying to get this
working on CoolRunnerII CPLD.
I have an up down counter that counts up under one stimuli's and down on
another. No matter how I play with the VHDL I get an warning that it
can't be synthesize or it can't have two clocks.
The current code looks like this
address_counter: process (addr_counter, FX2_MAN_nRESET, MI_CLK_PIXEL,
FX2_MA_CNT_nUPDN, FX2_MA_RD, nRESET )
begin
if FX2_MAN_nRESET = '0' or nRESET = '0' then
addr_counter <= "0000000000000000000000";
elsif rising_edge(MI_CLK_PIXEL)and FX2_MA_CNT_nUPDN
= '0' AND MI_LINE_VALID = '0' AND MI_FRAME_VALID = '0' then -- Data in
to PSRAM
addr_counter <= addr_counter + 1;
elsif rising_edge(FX2_MA_RD) then
-- Data out to FX2
addr_counter <= addr_counter - 1;
end if;
end process address_counter;
Alternitivly we can frame this with FX2_MA_CNT_nUPDN since we would only
count up on MI_CLK_PIXEL if low and down on FX2_MA_RD if high.
Thanx
Hawker