Цитата(des00 @ Dec 7 2009, 08:23)

для шины на 133МГц ? как то слишком оптимистично, ИМХО при ваших tsu/twr/th надо не менее 100МГц
Сорри, забыл написать - что клок 50мгц с кварцевого генератора. Времянки записи растянуты так чтоб угодить в очко:
Tsetup=133mhz/4=33 MHz 4clk
Twrite=133/4=33 MHz 4clk
Thold=0
Цитата(des00 @ Dec 7 2009, 08:23)

я бы привязывался не к уровню сигнала we, а при th = 1 к его заднему фронту
объясните пожалуйста подробно, о чём речь идёт - о записи в регистр или увеличении адреса памяти?
мне ещё писали что нарезать данные и адрес не надо. Только CS и WE. так?
прошу обсудить такой вариант с задним фронтом и без нарезки address/data:
THold=3clk 133/3=44.3 МГц
TWrite=4 clk =33.3 МГц
Tsetup=1clk (сделать =0clk невозможно - времянка BF533)
Код
--CLK=50MHz
process(Clk)
begin
if rising_edge(Clk) then
CE<=Port_CE;
WE<=Port_WE;
A<=Port_A;
end if;
end if;
process(WE)
begin
if rising_edge(WE) then --запись по заднему фронту
if CE='0' then
if A='0' then --запись в регистры
case Port_D(15 downto 12) is
when "0000" =>
Register0<=D(7 downto 0);
. . .
when "0111" =>
Register7<=D(7 downto 0);
end case;
else --увеличение адреса
WriteAddr<=WriteAddr+1;
end if;
end if;
end if;
end process;
--просто без нарезки, так как CE, WE - уже нарезаны
SRAM_CE<=CE;
SRAM_WE<=WE;
SRAM_A<=WriteAddr;
SRAM_D<=D;
Сообщение отредактировал %-) - Dec 7 2009, 05:38