URL
https://opencores.org/ocsvn/ft245r_interface/ft245r_interface/trunk
[/] [ft245r_interface/] [trunk/] [ft245rl_interface.vhd] - Diff between revs 2 and 3
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 2 |
Rev 3 |
Line 122... |
Line 122... |
|
|
-- Well, here we simply write a byte to FT245RL's data bus
|
-- Well, here we simply write a byte to FT245RL's data bus
|
elsif(do_write = '1')then
|
elsif(do_write = '1')then
|
c_state <= WRITE_BYTE;
|
c_state <= WRITE_BYTE;
|
end if;
|
end if;
|
-- leds <= "1111";
|
|
|
|
|
|
-- Read one byte from the device
|
-- Read one byte from the device
|
when READ_BYTE =>
|
when READ_BYTE =>
|
busy <= '1';
|
busy <= '1';
|
nrd <= '0';
|
nrd <= '0';
|
current_delay <= t3_delay;
|
current_delay <= t3_delay;
|
c_state <= DO_DELAY;
|
c_state <= DO_DELAY;
|
n_state <= READ_BYTE1;
|
n_state <= READ_BYTE1;
|
-- leds <= "1111";
|
|
|
|
when READ_BYTE1 =>
|
when READ_BYTE1 =>
|
current_delay <= t1_delay - t3_delay;
|
current_delay <= t1_delay - t3_delay;
|
c_state <= DO_DELAY;
|
c_state <= DO_DELAY;
|
n_state <= READ_BYTE2;
|
n_state <= READ_BYTE2;
|
-- leds <= "1110";
|
|
|
|
when READ_BYTE2 =>
|
when READ_BYTE2 =>
|
data_out <= in_buff;
|
data_out <= in_buff;
|
nrd <= '1';
|
nrd <= '1';
|
current_delay <= t5_delay;
|
current_delay <= t5_delay;
|
c_state <= DO_DELAY;
|
c_state <= DO_DELAY;
|
n_state <= READ_BYTE3;
|
n_state <= READ_BYTE3;
|
-- leds <= "1101";
|
|
|
|
when READ_BYTE3 =>
|
when READ_BYTE3 =>
|
current_delay <= t2_delay;
|
current_delay <= t2_delay;
|
c_state <= DO_DELAY;
|
c_state <= DO_DELAY;
|
n_state <= IDLE;
|
n_state <= IDLE;
|
data_available <= '1';
|
data_available <= '1';
|
busy <= '0';
|
busy <= '0';
|
-- leds <= "1100";
|
|
|
|
-- Write one byte to the device
|
-- Write one byte to the device
|
when WRITE_BYTE =>
|
when WRITE_BYTE =>
|
busy <= '1';
|
busy <= '1';
|
if(ntxe = '0')then
|
if(ntxe = '0')then
|
Line 169... |
Line 164... |
n_state <= WRITE_BYTE1;
|
n_state <= WRITE_BYTE1;
|
out_buff <= data_in;
|
out_buff <= data_in;
|
else
|
else
|
c_state <= WRITE_BYTE;
|
c_state <= WRITE_BYTE;
|
end if;
|
end if;
|
-- leds <= "1011";
|
|
|
|
when WRITE_BYTE1 =>
|
when WRITE_BYTE1 =>
|
nwr <= '0';
|
nwr <= '0';
|
current_delay <= t11_delay;
|
current_delay <= t11_delay;
|
c_state <= DO_DELAY;
|
c_state <= DO_DELAY;
|
n_state <= WRITE_BYTE2;
|
n_state <= WRITE_BYTE2;
|
-- leds <= "1010";
|
|
|
|
when WRITE_BYTE2 =>
|
when WRITE_BYTE2 =>
|
we <= '0';
|
we <= '0';
|
current_delay <= t12_delay;
|
current_delay <= t12_delay;
|
c_state <=DO_DELAY;
|
c_state <=DO_DELAY;
|
n_state <= WRITE_BYTE3;
|
n_state <= WRITE_BYTE3;
|
-- leds <= "1001";
|
|
|
|
when WRITE_BYTE3 =>
|
when WRITE_BYTE3 =>
|
busy <= '0';
|
busy <= '0';
|
c_state <= IDLE;
|
c_state <= IDLE;
|
-- leds <= "1000";
|
|
|
|
when DO_DELAY =>
|
when DO_DELAY =>
|
if(delay_cnt < current_delay)then
|
if(delay_cnt < current_delay)then
|
delay_cnt <= delay_cnt + 1;
|
delay_cnt <= delay_cnt + 1;
|
else
|
else
|
c_state <= n_state;
|
c_state <= n_state;
|
delay_cnt <= 0;
|
delay_cnt <= 0;
|
end if;
|
end if;
|
-- leds <= "0111";
|
|
|
|
when others =>
|
when others =>
|
c_state <= INIT;
|
c_state <= INIT;
|
end case; -- c_state
|
end case; -- c_state
|
end if;
|
end if;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.