Привет Всем! НАписал вот такой код:
CODE
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY u_ctrl_wr IS
port (clk : in std_logic;
en_skip: in std_logic;
ready_fs: in std_logic;
ready_ct2 : in std_logic;
rst : in std_logic;
do : out std_logic_vector(7 downto 0);
c_ct2 : out std_logic;
c_rg : out std_logic;
le_rg : out std_logic;
c_fs : out std_logic
);
END u_ctrl_wr;
ARCHITECTURE BEHAVIOR of u_ctrl_wr is
type tState is (IDLE, SKIP, STB_RG, STB_FSLOT, WAIT_RDY, FINE);
signal state: tState;
signal n_state: tState;
signal c_rg_w: std_logic;
signal le_rg_w: std_logic;
begin
c_rg <= c_rg_w;
le_rg <= le_rg_w;
c_ct2 <= c_rg_w and not le_rg_w;
process(clk, rst, n_state)
begin
if(rst = '1') then
state <= IDLE;
elsif(rising_edge(clk)) then
state <= n_state;
end if;
end process;
process(state, en_skip, ready_fs, ready_ct2)
begin
case state is
when IDLE=>
if(en_skip = '1') then
n_state <= SKIP;
else
n_state <= IDLE;
end if;
when SKIP=>
n_state <= STB_RG;
when STB_RG=>
n_state <= STB_FSLOT;
when STB_FSLOT=>
n_state <= WAIT_RDY;
when WAIT_RDY=>
if(ready_fs = '1') then
if(ready_ct2 = '1') then
n_state <= FINE;
else
n_state <= STB_RG;
end if;
else
n_state <= WAIT_RDY;
end if;
when FINE=>
n_state<= FINE;
end case;
end process;
output: process(state, en_skip)
begin
case state is
when IDLE=>
if(en_skip = '1') then
do <= X"CC";
le_rg_w <= '1';
else
do <= X"00";
le_rg_w <= '0';
end if;
c_rg_w <= '0';
c_fs <= '0';
when SKIP=>
c_rg_w <= '0';
c_fs <= '0';
when STB_RG=>
c_rg_w <= '1';
c_fs <= '0';
when STB_FSLOT=>
c_rg_w <= '0';
le_rg_w <= '0';
c_fs <= '1'; --no?ia a fs
when WAIT_RDY=>
c_rg_w <= '0';
le_rg_w <= '0';
c_fs <= '0';
when FINE=>
c_rg_w <= '0';
le_rg_w <= '0';
c_fs <= '0';
end case;
end process;
end BEHAVIOR;
после компиляции получилась такая диаграммка в которой наступают гонки сигналов. Нажал RTL Viewer и посмотрел полученую схему. Вопрос такой: Если я выбираю любое соединение между элементами схемы в RTL Viewer, можно ли просмотреть где оно физически распологается на кристалле? Если можно то как это сделать? То же самое и с элементами. Почему Quartus иногда пишет что не может найти запрошенные элемент в Chip Planner? Ну и последний вопрос, можно ли замерить задержку сигнала определенной линии ,выбранной в RTL Viewer??? Спасибо.
С Уважением...