[an error occurred while processing this directive]
|
|
Ты был прав с метастабильностью :)
Вот что из всего этого получилось :
SUBDESIGN CONTROL_VB
(
D[8..0] : INPUT=VCC;
CS_DATA, FS, CS : OUTPUT;
)
VARIABLE
-- MD[8..0]: LCELL;
DATA_FF : DFF;
FF_DATA : DFF;
FS_FF : DFF;
FF_FS : DFF;
CS_FF : DFF;
FF_CS : DFF;
BEGIN
-- DEFAULTS
-- DATA_FF.D = VCC;
-- FS_FF.D = GND;
-- CS_FF.D = GND;
-- END DEFAULTS;
--MD[] = D[];
FF_CS.CLK = !D4;
CS_FF.CLK = D4;
FF_DATA.CLK = !D3;
DATA_FF.CLK = D3;
FF_FS.CLK = !D0;
FS_FF.CLK = D0;
CASE D[] IS
%DDDDDDDDD%
%876543210%
WHEN B"X1111110X" => FS_FF.D = VCC;
WHEN OTHERS => FS_FF.D = GND;
END CASE;
FF_FS.D = FS_FF.Q;
FS = FF_FS.Q;
CASE D[] IS
%DDDDDDDDD%
%876543210%
WHEN B"X1111XXXX" => DATA_FF.D = GND;
WHEN OTHERS => DATA_FF.D = VCC;
END CASE;
FF_DATA.D = DATA_FF.Q;
CS_DATA = FF_DATA.Q;
CASE D[] IS
%DDDDDDDDD%
%876543210%
WHEN B"1110XXXXX" => CS_FF.D = VCC;
WHEN OTHERS => CS_FF.D = GND;
END CASE;
FF_CS.D = CS_FF.Q;
CS = FF_CS.Q;
END;
E-mail: info@telesys.ru