|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
|
[Verilog] Обработка команд по формату Intel(D0-D7, WR, CS)10.09.2012, 23:29. Показов 26076. Ответов 37
Метки нет (Все метки)
Разбираюсь с Verilog
Где можно посмотреть как осуществлять обработку команд подаваемых на D0-D7 по сигналам управления WR и CS Мне нужно обрабатывать двубайтовые команды, то есть по задумке первый байт подается на D0-D7 потом WR и CS - для записи потом WR и CS снимаются и на D0-D7 подается второй байт, с WR и CS для записи команды. так вот, интересует как это обрабатывать ? однобайтовую команду я в принципе понял как обрабатывать... а вот как ПРАВИЛЬНО организовывать ожидание второго байта для его последующей обработки ?
0
|
|
| 10.09.2012, 23:29 | |
|
Ответы с готовыми решениями:
37
Icarus Verilog. GNU GPL компилятор под Verilog Структура команд assembler для Intel
|
|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
||
| 12.09.2012, 13:47 | ||
самое паябельное среди таких HY57V651620B а вот где бы найти попроще микруху ? мегабайт на 128-256 .... ? а что за предупреждение: Warning: Found pins functioning as undefined clocks omd/or memory enables Info: Assuming node "clk" is an undefined clock со вторым уже подсказали.. а это осталось...
0
|
||
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
||
| 12.09.2012, 14:06 | ||
помнится, в квартусе можно было смотреть RTL-вид скомпиленного кода, попробуйте на простых примерах посмотреть, во что вырождаются разные конструкции - многое станет понятно.
0
|
||
|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
||
| 12.09.2012, 14:18 | ||
|
[QUOTE="Ymk"][QUOTE="Цитата:[/QUOTE]
я уже переписал код на работу с (posedge clk) `define SIT_L8 3b001 // установка мл. 8 бит адреса `define SIT_M8 3b010 // установка ср. 8 бит адреса `define SIT_H8 3b011 // установка ст. 8 бит адреса `define ROM_STEP 3b100 // шаг адреса при чтении //`define ADC_SYNC 3b101 // вид синхронизации захвата //`define ADC_START 3b110 // запуск преобразования module EPM240T100C5(clk,wr,cs,regadr,data8,ram_ adr,ram_wr,ram_oe); input wire clk; // тактовый сигнал // +--------------------------------------------------+ // | Интерфейс подключения к управляющему контроллеру | // +--------------------------------------------------+ input wire cs; // строб операции input wire wr; // сигнал выбора операции записи\чтения input wire [2:0] regadr; // адрес регистра для операции input wire [7:0] data8; // шина данных плис // +-----------------------------------------+ // | Интерфейс подключения к микросхеме SROM | // +-----------------------------------------+ output reg [17:0] ram_adr; // шина адреса для ram output reg ram_wr; // сигнал записи для ram output reg ram_oe; // сигнал строба для ram reg[17:0] adr_value; // внутренний регистр адреса ROM для операций reg[7:0] adr_step; // шаг приращения адреса для чтения // инициализация сигналов управления initial begin ram_wr=1; // управляющие сигналы SROM ram_oe=1; // end always @(posedge clk) // при изменении cs begin if (cs==1) // есть обращение к ПЛИС begin if (wr==1) // Запись значения в регистр begin case (regadr) // разбор записываемого значения `SIT_L8: begin adr_value[7:0]<=data8[7:0]; end `SIT_M8: begin adr_value[15:8]<=data8[7:0]; end `SIT_H8: begin adr_value[17:16]<=data8[1:0]; end `ROM_STEP: begin adr_step<=data8[0]; end endcase end else // операция чтения из ПЛИС begin ram_adr<=adr_value; // выдали адрес ram_wr<=1; // сигнал на чтение ram_oe<=0; // строб операции end end else // cs=0, нет обращения к ПЛИС begin // прекращение чтение SROM ram_wr<=1; // прекращение операции SROM ram_oe<=1; // adr_value<=adr_value+adr_step; end end endmodule
0
|
||
|
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 699
|
|||
| 12.09.2012, 20:41 | |||
0
|
|||
|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
|
| 12.09.2012, 20:47 | |
|
про SSROM: гм.. ничего себе цена.. на элитане минимум 600 руб без доставки :-(
по поводу сообщения - да, уже нашел, предупреждение ушло..
0
|
|
|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
|
| 12.09.2012, 20:50 | |
|
Я смотрю пока все таки на 10нс память.. (у меня в заказанной для тестов плате 50 мгц кварц стоит :-)
вернее не на память, а на диаграммы сигналов для записи\чтения: а как на плис реализуются задержки ? в примерах написано типа #<значение> - а вот как значение считать, и как оно реализуется не понятно :-( может быть где то есть пример ?
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 699
|
|||
| 13.09.2012, 03:45 | |||
0
|
|||
|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
|
| 13.09.2012, 08:17 | |
|
то есть написание #10 - означает 10 тиков тактового сигнала который подан на специальную ножку ПЛИС ? (pin12 или pin62 для epm249t100)
или по 10 тикам сигнала имя которого упоминается в блоке always @(posedge clk) ?
0
|
|
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 13.09.2012, 13:26 | |
|
имхо, для схемы это ничего не означает, только для симулятора - тестбенч создавать (могу жестоко ошибаться, но думаю, что вряд ли).
0
|
|
|
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 699
|
|
| 13.09.2012, 13:35 | |
|
Я про Verilog ничего не знаю, подобные проекты пишу на AHDL.
0
|
|
|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
|
| 15.09.2012, 00:25 | |
|
Вы думаете я от вас отстал, но вы ошибаетесь, просто немного был занят :-)
Все таки думаю использовать ассинхронную память, в связи с этим нарисовал схему генерации сигналов для SROM http://vg.ucoz.ru/ossytt/diagrammy_syknalov.xlsx для снижения требований к SROM предполагаю использовать память с 16ти битной шиной данных. так же с 10 нс доступом вопросы: 1. память допускает подачу одновременно сигналов WR и СE и данных (D15-D0) (это строка 5 и 6 схемы)? 2. Возможно ли по приходу синхроимпульса захватывать значение с входа ADC_D и тут же (!) выдать эти данные на выход ROM_DATA (строки 3 и 6) ? 3. можно ли как то организовать последовательную выдачу сигналов из плис, с любой пусть даже минимальной задержкой, в порядке: ROM_DATA(6 строка), ROM_CE, ROM_WR (5 строка) ? (в принципе если последние 2 сигнала можно выдавать одновременно, то значит в 2 этапа: сначала ROM_DATA, потом ROM_WR и одновременно ROM_CE) ссылка на даташит SROM CY7C1021D http://www.cypress.com/?docID=34936 скажите что нить хорошее, или плохое, но главное чтобы правду! :-)
0
|
|
|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
|
| 17.09.2012, 23:44 | |
|
всем снова привет!
небольшой отчет о ходе работ: начинаю раскуривать плис - оказалось очень интересным процессом ! сейчас уже могу осуществлять захват сигнала по диаграммам которые я приводил, рабочая частота 150 мгц (по симуляции до 180 мгц) сейчас делаю интерфейс управления плис от контроллера хочу спросить: как правильно объявляется и управляется двунаправленная шина ? у меня 8 битная шина данных, я хочу с нее читать и на нее записывать в зависимости от сигнала wr (со стробом по cs).. как примерно это делается ? может быть кто то делал что-то подобное? конструкцию активно обсуждаю здесь http://vg.ucoz.ru/forum/8-20-1 (to_admin: если размещение ссылок на другие форумы запрещено, то прошу ее удалить)
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
|
|
| 18.09.2012, 00:04 | |
|
"если размещение ссылок на другие форумы запрещено, то прошу ее удалить"
Да откуда вы такие напуганные приходите? :)) Вот кстати хотел спросить - кто нибудь знает хороший курс по Verilog? Так чтоб от самого простого до чего-то интересного
0
|
|
|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
|||
| 18.09.2012, 00:13 | |||
на радиокоте например.. это же ссылка мой личный форум - типа раскрутка своего.. ну и в общемто "в чужой огород со своим уставом не ходят" - так что спорить бестолку (потому свой сайт и затеял - где не ставлю вообще никаких правил кроме может быть общих правил приличия, но в принципе это пока особо и не нужно - у меня форум считай для узкого круга лиц - никто кроме своих на него не ходит и меня это устраивает)
но пока не нашел.. саму логику программирования плис я наверное начал понимать: нужно плис воспринимать не как процессор, а как набор логических элементов соединенных в схему. и схема работает параллельно от входных сигналов.. - это не процесс, а дешифратор параллельного входного кода в некий выходной код! Verilog или другие языки скрадывают логические элементы, но писать нужно учитывая это..- первые дня 4 было совсем плохо (я фактически писал процессы), но потом чтото щелкнуло в голове и стало намного легче :-))) (может с ума сошел ? :-))) мне Verilog понравился тем что на паскаль чем то похож (те же begin endы)
0
|
|||
|
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
|
|
| 18.09.2012, 00:48 | |
|
А точно не путаете Verilog c VHDL ???? На паскаль как раз похож VHDL ! А Verilog похож на С.
0
|
|
|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
||||||||||||
| 18.09.2012, 00:51 | ||||||||||||
вот из моего проекта кусок.. на что он больше похож ? для меня си это когда скобки вместо бегинендов:
со всякими объявлениями библиотек, хотя.. тоже похож на паскаль :-)) особенно в части присваивания
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
|
|||
| 18.09.2012, 03:12 | |||
|
http://ru.wikipedia.org/wiki/Verilog
0
|
|||
|
1 / 1 / 0
Регистрация: 26.10.2011
Сообщений: 811
|
|
| 18.09.2012, 06:49 | |
|
я согласен со всеми источниками :-)
но по мне verilog похож на паскаль.. :-) я же указал что у меня ассоциации с паскалем вызывают begin\end.. в принципе не так важно на что он похож главное ведь чтобы понятен был !
0
|
|
| 18.09.2012, 06:49 | |
|
Помогаю со студенческими работами здесь
38
Программная реализация дизассемблирования арифметических команд intel 8086 Нужен справочник по системе команд процессора intel core 2 duo
Обработка команд джойстика Обработка команд (\comand) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|