[an error occurred while processing this directive]
|
stimuli зыдавались след. образом:
force c16m 1 0, {0 31,} -repeat 62 --16Mhz clock
force sin 0 0, {1 200,} -repeat 1000
симулировался run 10000
результат - окне wave входные сигналы отображены как и предполагалось, внутренние сигналы с выхода счетчика в 'U' состоянии, на выходе sout '1'= константа. такое ощущение, что схема не воспринимает тактовой частоты. Файл симулирован в found 2.1 - результат полностью соответствует ожиданиям.
привожу файл - одновибратор стартующий по срезу sin и генерирующий sout c длительностью 7-8 тактов c16m:
LIBRARY work;
USE work.exemplar_1164.ALL;
library ieee;
use ieee.std_logic_1164.all;
entity pulser is
port (
c16m : in std_logic;-- clock, from oscilator
sin : in std_logic;-- input start instruction, (falling edge active)
sout : out std_logic);
end pulser;
architecture rtl1 of pulser is
signal del : std_logic_vector (3 downto 0);-- delay equals to pulse width (8 periods of 16mhz)
signal dstp : std_logic;-- reset signals
signal cen : std_logic;
begin
process (del,sin)
begin
if del(3)='1' then cen<='0';
else
if sin'event and sin ='0' then
cen<='1';
end if;
end if;
end process;
sout<=cen;
process (dstp,cen,c16m)
begin
if dstp='1' then del<="0000";
else
if cen='1' then
if c16m'event and c16m ='1' then
del<="+"(del,"0001");
end if;
end if;
end if;
end process;
process (c16m,del)
begin
if c16m'event and c16m ='0' then
dstp<=del(3);
end if;
end process;
end rtl1;
если лыжи то как исправить? если нет ...
E-mail: info@telesys.ru