[an error occurred while processing this directive]
|
BusCycleDecode: process(sck,nce,reset,mosi)
type bus_cycle_type is (STAND_BY, CODE_BYTE, ADDRESS_BYTE, DATA_BYTE_IN, DATA_BYTE_OUT);
variable bus_cycle_state: bus_cycle_type;
variable code_cnt: natural := 0;
variable address_cnt: natural := 0;
variable data_cnt: natural := 0;
variable code_in: std_logic_vector(7 downto 0);
variable address_in: std_logic_vector(7 downto 0);
begin
if rising_edge(nce) then
bus_cycle_state := STAND_BY; else
case bus_cycle_state is
when STAND_BY =>
if falling_edge(nce) then
instruct <= NONE;
code_cnt := 0;
address_cnt := 0;
data_cnt := 0;
bus_cycle_state := CODE_BYTE;
end if;
Переменной bus_cycle_state присваивается значения двумя фронтами, а так делать нельзя, таких тригеров нет в природе. Это несинтезируемая конструкция.
E-mail: info@telesys.ru