-
Васисуалий
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 90
-
Спасибо получено: 5
-
-
-
-
|
Leka пишет: В схематике?
В основном да. По большей части это связано со слабым знанием HDL. Большая часть проекта набрана из готовых макросов из библиотек Квартуса. Некоторые блоки, такие как знакогенераторы и таблицы для пересчета написаны мной самим. В любом случае сделать законченный проект на HDL мне еще ни разу не удалось. Не хватает опыта и знаний. В прочем основная цель моего проекта - изучение. Это я и делаю. Ну и само собой разумеется, что проект должен еще и работать.
По помощи...
Разумеется, в моем проекте не все гладко. Например, при "синхронизации" моего проекта возникла необходимость сделать работу всего проекта от одного счетчика. И вот тут у меня возникла проблема. Дело в том, что прежний контроллер LCD панели работал со счетчиком, отсчитывающим 640 отсчетов на строку. Т.е. 480 отсчетов напрямую являлись адресами соответствующих пикселов на экране и оставшиеся отсчеты формировали необходимые управляющие сигналы. Так вот я не смог понять, как удовлетворить этим потребностям последовательность из одного общего счетчика для всего проекта. Пришлось растянуть числовую последовательность для одной строки аж на 1024 отсчета и использовать для работы дисплея только все те же 480 отсчетов на строку и остальные отсчеты на формирование управления. Возникла огромная временная дыра в конце каждой строки. Дисплей выдержал издевательство, но теперь немного мерцает. Это если присмотреться. В целом у меня возник вопрос, а как можно формировать числовые последовательности не кратные 2, например непрерывную цепь последовательностей в 640 отсчетов из общей последовательности большого счетчика?
Chaosorg по памяти...
Сейчас использовано только 4096 байт памяти, остальная лежит в заначке.
И про идею с "квадратиком"...
Я не совсем понял смысл! Ну вот имеем мы на экране картинку с сигналом. Допустим, что она стабильна, т.е. сигнал строго периодический и на экране "стоит". Наводим на него некую область и допустим в эту область попадает сигнал и тогда что? Скопировать этот кусок в отдельный буфер? Вывести на экран отдельным куском?
Вот насобирал немного примеров подобного способа:
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Васисуалий
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 90
-
Спасибо получено: 5
-
-
-
-
|
Вот сделал картинко с последними поступлениями:
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Leka
-
-
Не в сети
-
Живу я здесь
-
-
Сообщений: 635
-
Спасибо получено: 54
-
-
|
Васисуалий пишет: Например, при "синхронизации" моего проекта возникла необходимость сделать работу всего проекта от одного счетчика.
Нет такой необходимости в "одном счетчике" на весь проект, их может быть сколько угодно в синхронном дизайне. Чтобы дизайн был синхронный, управление счетом надо делать не через тактовый вход счетчика, а через отдельный вход разрешения счета. Например: 10-разрядный "горизонтальный" счетчик ---> схема сравнения с "639" ---> вход разрешения счета 9-разрядного "вертикального" счетчика и вход сброса "горизонтального" счетчика. Оба счетчика при этом тактируются одним системным клоком. "Горизонтальный" счетчик досчитает до "639" (схема сравнения с "639" выдаст импульс), и сбросится в "0". Длительность импульса (схемы сравнения) получится в 1 такт, и значение "вертикального" счетчика увеличится на 1.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Leka.
|
-
Васисуалий
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 90
-
Спасибо получено: 5
-
-
-
-
|
Брррррр... :blink:
-"Куда уплыла Американская подводная лодка?"
-"Зюйт-зюйт-вест!"
-"Да ты пальцем покажи!"
:lol:
А не могли бы Вы нарисовать? ПЛЗ... :dry:
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Leka
-
-
Не в сети
-
Живу я здесь
-
-
Сообщений: 635
-
Спасибо получено: 54
-
-
|
Схематик для ПЛИС не знаю, мне быстрее на Верилоге написать.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Васисуалий
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 90
-
Спасибо получено: 5
-
-
-
-
|
Но мне сложно будет потом в нем разобраться, причем в целом мне в Верилоге код понятен, но что там будет потом синхронно или не синхронно, я пока "не копенгаген".
Счас я попытаюсь задать вопрос иначе...
Вот так в Квартусе создается нужный счетчик:
А потом можно добавить необходимые опциональные входы...
Так вот вопрос...
Если я правильно все понимаю, то асинхронные входы лучше вообще не трогать? Ну это понятно!
А вот чего я не понял, куда и как надо подать импульсы для счета? На вход Count enable? :S Я так никогда не делал... :dry:
В прочем напишите на Верилоге. Если можно с минимальными комментами. Буду изучать. Ну должен же я как то учиться?
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Leka
-
-
Не в сети
-
Живу я здесь
-
-
Сообщений: 635
-
Спасибо получено: 54
-
-
|
Да, именно на "count enable", чтобы дизайн оставался синхронным. А на "clock" всех счетчиков/триггеров/блоков памяти/и тд - подавать один и тот-же сигнал клока от PLL/кварца.
reg [9:0] h; //"горизонтальный" счетчик
reg [8:0] v; //"вертикальный" счетчик
wire cmp = (h == 639); //сигнал сравнения с 639
always@(posedge clock) begin
h <= h + 1;
if(cmp) begin
h <= 0; //h после 639 вместо 639+1=640 получит 0
v <= v + 1; //а v получит +1
end
end
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Leka.
|
-
Васисуалий
-
-
Не в сети
-
Давно я тут
-
-
Сообщений: 90
-
Спасибо получено: 5
-
-
-
-
|
Так! Щас соображу...
Значит у меня на плате самая верхняя частота 100Мгц от генератора Марсоход2. Я не пробовал использовать ПЛЛ, просто пока он не нужен. Частоты в 100Мгц мне хватит еще на долго! Так вот значит что я должен сделать? Подать самую верхнюю частоту 100Мгц на все счетчики на вход Clk?
А все остальное собирать так же как и раньше но с использованием входа ClkEn?
Оно?
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Leka
-
-
Не в сети
-
Живу я здесь
-
-
Сообщений: 635
-
Спасибо получено: 54
-
-
|
Васисуалий пишет: Значит у меня на плате самая верхняя частота 100Мгц от генератора Марсоход2. Я не пробовал использовать ПЛЛ, просто пока он не нужен. Частоты в 100Мгц мне хватит еще на долго!
PLL нужна, чтобы понизить системную частоту до минимально необходимого уровня. Если какой-либо блок будет описан неоптимально, его быстродействия может не хватить для работоспособности на 100МГц. При отсутствии опыта лучше сразу понизить частоту, например, до 50МГц.
Подать самую верхнюю частоту 100Мгц на все счетчики на вход Clk?
А все остальное собирать так же как и раньше но с использованием входа ClkEn?
Да. Но если 100МГц, надо смотреть отчет Квартуса по таймингам, что может обеспечить эту частоту для _всего_ данного проекта. Для начала лучше понизить до 50МГц.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Leka.
|
-
Leka
-
-
Не в сети
-
Живу я здесь
-
-
Сообщений: 635
-
Спасибо получено: 54
-
-
|
Оно?
Да.
Вообще-то по схеме неясен приоритет сигналов "sclr" и "cnt_en", надо уточнять. В коде на Верилоге (который выше привел) приоритет у сигнала сброса.
|
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от Leka.
|
Время создания страницы: 4.484 секунд