dosikus, да, и самое главное - делать выводы. Оно потом как положительная обратная связь начинает работать. Как давно сказал кто-то из моих знакомых: сначала программист развивает программу, а потом программа развивает программиста.
Вид для печати
dosikus, да, и самое главное - делать выводы. Оно потом как положительная обратная связь начинает работать. Как давно сказал кто-то из моих знакомых: сначала программист развивает программу, а потом программа развивает программиста.
omercury, так как визард тыкать неззя, а нам нужна тактовая и сброс на 8051 , правильно ли я понимаю :
Редактируем v_pll :
Было
СталоКод:module v_pll #(parameter mul1 = 5, mul2 = 1, div1 = 2, div2 = 2)
(
inclk0,
c0,
c1);
input inclk0;
output c0;
output c1;
wire [4:0] sub_wire0;
wire [0:0] sub_wire5 = 1'h0;
wire [1:1] sub_wire2 = sub_wire0[1:1];
wire [0:0] sub_wire1 = sub_wire0[0:0];
wire c0 = sub_wire1;
wire c1 = sub_wire2;
wire sub_wire3 = inclk0;
wire [1:0] sub_wire4 = {sub_wire5, sub_wire3};
altpll altpll_component (
.inclk (sub_wire4),
.clk (sub_wire0),
.locked (),
.vcooverrange (),
.vcounderrange ());
Код:module v_pll #(parameter mul1 = 5, mul2 = 1, mul3=2, div1 = 2, div2 = 2, div3=1)
(
inclk0,
c0,
c1,
c2,
locked);
input inclk0;
output c0;
output c1;
output c2;
output locked;
wire [4:0] sub_wire0;
wire [0:0] sub_wire5 = 1'h0;
wire [2:2] sub_wire6 = sub_wire0[2:2];
wire [1:1] sub_wire2 = sub_wire0[1:1];
wire [0:0] sub_wire1 = sub_wire0[0:0];
wire c0 = sub_wire1;
wire c1 = sub_wire2;
wire c2 = sub_wire6;
wire sub_wire3 = inclk0;
wire [1:0] sub_wire4 = {sub_wire5, sub_wire3};
altpll altpll_component (
.inclk (sub_wire4),
.clk (sub_wire0),
.locked (locked),
.vcooverrange (),
.vcounderrange ());
dosikus, смотреть-то никто не запрещал. :)
Создай новую PLL, открой блокнотом и посмотри разницу.
Там всё просто, разберёшься с ходу.
Какая частота-то нужна?
Ты сделал 100МГц.
Или другой вариант - заюзай вторую PLL, благо у тебя их 4 штуки.
И меньше 4 всё равно не будет.)))
Да, все получилось , да 100MHz. Правда пришлось еще в alt_pll дефпараметр править.
Вопрос , epm3256aqc208 толерантна к 5в. или надо резисторы ставить ? Например в pdf по xilinx четко пишут толерантность.
Еще вопрос ,кто нибудь прикручивал SDRAM 100мгц через плис к медленным проектам типа спектрума , где не быстрое асинхронная работа память+проц ?
Если вывод работает на вход, то резистор по 300 ом необходим, на вывод - не нужен.
Разумеется, да.
Например, знаменитая корка Влада от ReVerSe_xx
Но, есть нюанс...
1. На Z80 катит, ибо есть аппаратный рефрешь;
2. На Z80 катит, ибо цикл чтения/записи занимает более 1 такта ЦП;
3. Не используется с экранной памятью, ибо дОлжно соблюдать жесткие тайминги;
4. Если цикл обращения к памяти уже запущен, новое обращение будет проигнорировано (вероятнее всего), ибо нет буферизации (на внедрение которой некоторые пользователи высказывают своё "фи" - дескать расточительное использование ресурсов).
Посему - что надо-то:
Какой проц?
Какая ожидается тактовая?
100МГц - это уже CL-3, а значит 8 тактов SDRAM на цикл рандомного чтения/записи/рефреша.
С буферизацией входа + выхода =8+1+1 тактов на цикл, отсюда и рассчитывать тактовую контроллера.
Это откуда такие требования? Я поставил тут epm3064atc100 без всяких резисторов подал шину данных подтянутую к 5в, уже "мучу" микруху экспериментами долго, но все еще работает и даже не греется. То может для MAX-II такое надо?
- - - Добавлено - - -
я в sdram вообще не шарю, расшифруйте для меня что это значит? неужели что 100/(8+1+1) = 10mhz максимум при "эмуляции sram"?