Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА:

Запоминающий осциллограф 10 года 5 мес. назад #5840

Leka пишет: В схематике?


В основном да. По большей части это связано со слабым знанием HDL. Большая часть проекта набрана из готовых макросов из библиотек Квартуса. Некоторые блоки, такие как знакогенераторы и таблицы для пересчета написаны мной самим. В любом случае сделать законченный проект на HDL мне еще ни разу не удалось. Не хватает опыта и знаний. В прочем основная цель моего проекта - изучение. Это я и делаю. Ну и само собой разумеется, что проект должен еще и работать.

По помощи...

Разумеется, в моем проекте не все гладко. Например, при "синхронизации" моего проекта возникла необходимость сделать работу всего проекта от одного счетчика. И вот тут у меня возникла проблема. Дело в том, что прежний контроллер LCD панели работал со счетчиком, отсчитывающим 640 отсчетов на строку. Т.е. 480 отсчетов напрямую являлись адресами соответствующих пикселов на экране и оставшиеся отсчеты формировали необходимые управляющие сигналы. Так вот я не смог понять, как удовлетворить этим потребностям последовательность из одного общего счетчика для всего проекта. Пришлось растянуть числовую последовательность для одной строки аж на 1024 отсчета и использовать для работы дисплея только все те же 480 отсчетов на строку и остальные отсчеты на формирование управления. Возникла огромная временная дыра в конце каждой строки. Дисплей выдержал издевательство, но теперь немного мерцает. Это если присмотреться. В целом у меня возник вопрос, а как можно формировать числовые последовательности не кратные 2, например непрерывную цепь последовательностей в 640 отсчетов из общей последовательности большого счетчика?

Chaosorg по памяти...

Сейчас использовано только 4096 байт памяти, остальная лежит в заначке.

И про идею с "квадратиком"...

Я не совсем понял смысл! Ну вот имеем мы на экране картинку с сигналом. Допустим, что она стабильна, т.е. сигнал строго периодический и на экране "стоит". Наводим на него некую область и допустим в эту область попадает сигнал и тогда что? Скопировать этот кусок в отдельный буфер? Вывести на экран отдельным куском?

Вот насобирал немного примеров подобного способа:








Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Васисуалий.

Запоминающий осциллограф 10 года 5 мес. назад #5841

Вот сделал картинко с последними поступлениями:

Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Запоминающий осциллограф 10 года 5 мес. назад #5842

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54

Васисуалий пишет: Например, при "синхронизации" моего проекта возникла необходимость сделать работу всего проекта от одного счетчика.

Нет такой необходимости в "одном счетчике" на весь проект, их может быть сколько угодно в синхронном дизайне. Чтобы дизайн был синхронный, управление счетом надо делать не через тактовый вход счетчика, а через отдельный вход разрешения счета. Например: 10-разрядный "горизонтальный" счетчик ---> схема сравнения с "639" ---> вход разрешения счета 9-разрядного "вертикального" счетчика и вход сброса "горизонтального" счетчика. Оба счетчика при этом тактируются одним системным клоком. "Горизонтальный" счетчик досчитает до "639" (схема сравнения с "639" выдаст импульс), и сбросится в "0". Длительность импульса (схемы сравнения) получится в 1 такт, и значение "вертикального" счетчика увеличится на 1.
Спасибо сказали: Васисуалий

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.

Запоминающий осциллограф 10 года 5 мес. назад #5843

Брррррр... :blink:

-"Куда уплыла Американская подводная лодка?"
-"Зюйт-зюйт-вест!"
-"Да ты пальцем покажи!"

:lol:

А не могли бы Вы нарисовать? ПЛЗ... :dry:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Запоминающий осциллограф 10 года 5 мес. назад #5844

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54
Схематик для ПЛИС не знаю, мне быстрее на Верилоге написать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Запоминающий осциллограф 10 года 5 мес. назад #5845

Но мне сложно будет потом в нем разобраться, причем в целом мне в Верилоге код понятен, но что там будет потом синхронно или не синхронно, я пока "не копенгаген".

Счас я попытаюсь задать вопрос иначе...

Вот так в Квартусе создается нужный счетчик:




А потом можно добавить необходимые опциональные входы...




Так вот вопрос...

Если я правильно все понимаю, то асинхронные входы лучше вообще не трогать? Ну это понятно!

А вот чего я не понял, куда и как надо подать импульсы для счета? На вход Count enable? :S Я так никогда не делал... :dry:

В прочем напишите на Верилоге. Если можно с минимальными комментами. Буду изучать. Ну должен же я как то учиться?
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Васисуалий.

Запоминающий осциллограф 10 года 5 мес. назад #5846

  • Leka
  • 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.

Запоминающий осциллограф 10 года 5 мес. назад #5847

Так! Щас соображу...

Значит у меня на плате самая верхняя частота 100Мгц от генератора Марсоход2. Я не пробовал использовать ПЛЛ, просто пока он не нужен. Частоты в 100Мгц мне хватит еще на долго! Так вот значит что я должен сделать? Подать самую верхнюю частоту 100Мгц на все счетчики на вход Clk?

А все остальное собирать так же как и раньше но с использованием входа ClkEn?




Оно?
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Васисуалий.

Запоминающий осциллограф 10 года 5 мес. назад #5848

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54

Васисуалий пишет: Значит у меня на плате самая верхняя частота 100Мгц от генератора Марсоход2. Я не пробовал использовать ПЛЛ, просто пока он не нужен. Частоты в 100Мгц мне хватит еще на долго!

PLL нужна, чтобы понизить системную частоту до минимально необходимого уровня. Если какой-либо блок будет описан неоптимально, его быстродействия может не хватить для работоспособности на 100МГц. При отсутствии опыта лучше сразу понизить частоту, например, до 50МГц.

Подать самую верхнюю частоту 100Мгц на все счетчики на вход Clk?
А все остальное собирать так же как и раньше но с использованием входа ClkEn?

Да. Но если 100МГц, надо смотреть отчет Квартуса по таймингам, что может обеспечить эту частоту для _всего_ данного проекта. Для начала лучше понизить до 50МГц.
Спасибо сказали: Васисуалий

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.

Запоминающий осциллограф 10 года 5 мес. назад #5849

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54

Оно?

Да.

Вообще-то по схеме неясен приоритет сигналов "sclr" и "cnt_en", надо уточнять. В коде на Верилоге (который выше привел) приоритет у сигнала сброса.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.
Время создания страницы: 4.484 секунд
Работает на Kunena форум