реклама на сайте
подробности

 
 
> ModelSim, вопросы новичка
Sprite
сообщение May 18 2018, 11:26
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414



Доброго всем времени суток!

Решил отложить стандартный квартус-симулятор и изучить ModelSim. Отлаживаю модуль SPI, но картинка не та, которую я вижу в квартус-симуляторе, сигналы addr, data, miso в неопределенном состоянии. В чем может быть дело? Не заданы начальные условия или код модуля кривой? Картинка такая:



Исходный файл и тестбенч к нему во вложении. Заранее спасибо.
Прикрепленный файл  SPI_slave2.v ( 4.49 килобайт ) Кол-во скачиваний: 31
Прикрепленный файл  SPI_slave2_tb.v ( 1.15 килобайт ) Кол-во скачиваний: 36


Сообщение отредактировал Sprite - May 18 2018, 11:27
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Sprite
сообщение May 22 2018, 10:24
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414



Спасибо всем за критику)

Задачу в двух словах описать можно так: есть МК и есть ПЛИС. На ПЛИС построено несколько конечных автоматов, каждый из которых работает со своими данными, которые загружаются из МК по SPI по разным адресам RAM. Поскольку каждый блок работает со своим словом данных и нужно чтобы данные всегда были видимы блоку я отказался от использования одного компонента RAM, скажем 16x16, выдающего по адресу только одно значение данных и использую несколько блоков RAM минимальной разрядности (что, как справедливо заметил Иосиф Григорьевич, криво и уродливоwink.gif), Компонент RAM пришлось генерировать через визард, т.к. другого способа добавить ячейку RAM я не нашел (создавать RAM из темплейтов пробовал - при компиляции создаются D-триггеры, что громоздко и неоптимально ввиду лишней занимаемой памяти). Минимальная разрядность адреса блока RAM через визард - 2, если указываю 1 - выдает ошибку.

Сообщение отредактировал Sprite - May 22 2018, 10:26
Go to the top of the page
 
+Quote Post
iosifk
сообщение May 22 2018, 12:20
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Sprite @ May 22 2018, 13:24) *
Спасибо всем за критику)

Задачу в двух словах описать можно так: есть МК и есть ПЛИС. На ПЛИС построено несколько конечных автоматов, каждый из которых работает со своими данными, которые загружаются из МК по SPI по разным адресам RAM. Поскольку каждый блок работает со своим словом данных и нужно чтобы данные всегда были видимы блоку я отказался от использования одного компонента RAM, скажем 16x16, выдающего по адресу только одно значение данных и использую несколько блоков RAM минимальной разрядности

У Вас что, автоматы всегда работают с данными в памяти одновременно?
Почему не сделать двух-портовку? В один порт - пишите из SPI, а по другому порту автоматы через арбитр читают содержимое памяти?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Sprite
сообщение May 22 2018, 12:28
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414



Цитата(iosifk @ May 22 2018, 19:20) *
У Вас что, автоматы всегда работают с данными в памяти одновременно?
Почему не сделать двух-портовку? В один порт - пишите из SPI, а по другому порту автоматы через арбитр читают содержимое памяти?

Чтение через арбитр подразумевает поочередное обращение к данным, а мне они (данные) нужны всегда, этот вариант я продумывал в самом начале.
Go to the top of the page
 
+Quote Post
iosifk
сообщение May 22 2018, 12:35
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Sprite @ May 22 2018, 15:28) *
Чтение через арбитр подразумевает поочередное обращение к данным, а мне они (данные) нужны всегда, этот вариант я продумывал в самом начале.

И в каждом состоянии автомат пользуется этими данными? Или все же не в каждом?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Sprite
сообщение May 22 2018, 15:54
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414



Цитата(iosifk @ May 22 2018, 19:35) *
И в каждом состоянии автомат пользуется этими данными? Или все же не в каждом?

Конечно не в каждом, но зачем лишние заморочки? Данные передаются с начала процесса одной колбасой по SPI, каждое слово ложится в RAM по конкретному адресу и далее используется отдельными блоками (автоматими). Зачем здесь арбитр и дополнительная синхронизация автоматов по выборке данных из одного большого RAM-блока?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sprite   ModelSim, вопросы новичка   May 18 2018, 11:26
- - Nieve   Здравствуйте! У вас в TestBench переменная ...   May 18 2018, 11:43
- - iosifk   Цитата(Sprite @ May 18 2018, 14:26) Добро...   May 18 2018, 11:45
|- - Sprite   Nieve, Иосиф Григорьевич, спасибо! Проглядел)...   May 18 2018, 12:15
|- - iosifk   Цитата(Sprite @ May 18 2018, 15:15) Nieve...   May 18 2018, 12:38
|- - AVR   Цитата(Sprite @ May 18 2018, 15:15) А мож...   May 18 2018, 12:56
|- - Stewart Little   Цитата(AVR @ May 18 2018, 15:56) Прошу пр...   May 18 2018, 15:59
- - Flip-fl0p   КодА можно как-нибудь автоматизировать посылку раз...   May 18 2018, 17:47
- - AnatolySh   Цитата(Sprite @ May 18 2018, 14:26) Решил...   May 18 2018, 18:03
- - R6L-025   Вроде как неплохо еще прогонять на случайных выбор...   May 18 2018, 19:02
|- - Flip-fl0p   Цитата(R6L-025 @ May 18 2018, 22:02)...   May 18 2018, 19:11
- - R6L-025   Можно создать *.qsys проект в который добавить нуж...   May 18 2018, 19:21
- - Marat Zuev   Цитата(Sprite @ May 18 2018, 12:26) Отлаж...   May 18 2018, 20:30
- - Sprite   Цитата(AnatolySh @ May 19 2018, 01:03) Не...   May 19 2018, 13:35
|- - Marat Zuev   Цитата(Sprite @ May 19 2018, 14:35) наткн...   May 19 2018, 13:52
|- - Sprite   Цитата(Marat Zuev @ May 19 2018, 20:52) В...   May 20 2018, 06:38
|- - Marat Zuev   Цитата(Sprite @ May 20 2018, 07:38) Как м...   May 20 2018, 07:09
- - R6L-025   А почему эту самую корку использовать нельзя? Если...   May 20 2018, 07:09
- - R6L-025   А, еще есть quartus templates. В выпадающем меню E...   May 20 2018, 07:12
|- - Sprite   Цитата(R6L-025 @ May 20 2018, 14:12)...   May 20 2018, 08:16
- - R6L-025   Ну тогда попробуйте поиграть с директивами. Quartu...   May 20 2018, 09:18
- - Sprite   Спасибо, попробую. Еще один вопрос: как описать эт...   May 20 2018, 09:29
|- - AVR   Цитата(Sprite @ May 20 2018, 12:29) Спаси...   May 22 2018, 05:27
- - R6L-025   Да, verilog, vhdl... Берете описание портов pll ко...   May 20 2018, 10:12
|- - Sprite   Цитата(R6L-025 @ May 20 2018, 17:12)...   May 20 2018, 10:27
- - Sprite   Всем добра! Перевел проект полностью на veril...   May 21 2018, 11:53
|- - Marat Zuev   Цитата(Sprite @ May 21 2018, 11:53) Если ...   May 21 2018, 12:42
- - Flip-fl0p   Я бы ещё не применял имена модулей - названия прим...   May 21 2018, 12:47
|- - Sprite   Цитата(Flip-fl0p @ May 21 2018, 19:4...   May 21 2018, 13:16
|- - Flip-fl0p   Поскольку полного кода я не вижу, я предположил, ч...   May 21 2018, 13:17
|- - Sprite   Цитата(Flip-fl0p @ May 21 2018, 20:1...   May 21 2018, 13:32
|- - Marat Zuev   Цитата(Sprite @ May 21 2018, 13:32) Вот к...   May 21 2018, 18:29
|- - nice_vladi   Цитата(Sprite @ May 21 2018, 13:32) ... ...   May 22 2018, 05:28
- - Flip-fl0p   А какую цель Вы ставите перед собой ? Сделать прав...   May 21 2018, 14:30
|- - Sprite   Цитата(Flip-fl0p @ May 21 2018, 21:3...   May 21 2018, 14:48
- - Sprite   С учетом замечаний Marat Zuev переписал модуль, по...   May 22 2018, 08:40
|- - Flip-fl0p   Цитата(Sprite @ May 22 2018, 11:40) А ес...   May 22 2018, 09:20
|- - iosifk   Цитата(Flip-fl0p @ May 22 2018, 12:2...   May 22 2018, 09:46
|- - Flip-fl0p   Цитата(Sprite @ May 22 2018, 18:54) Конеч...   May 23 2018, 06:18
|- - iosifk   Цитата(Sprite @ May 22 2018, 18:54) Конеч...   May 23 2018, 07:10
- - Sprite   Довольный как слон Все получилось! Собрал пр...   May 22 2018, 12:04
- - Sprite   Flip-fl0p, Иосиф Григорьевич спасибо! Подумаю ...   May 23 2018, 11:49
|- - nice_vladi   Цитата(Sprite @ May 23 2018, 11:01) [b] К...   May 23 2018, 11:51
|- - OM-S   В tb.v поставьте начальное значение для регистра...   May 23 2018, 11:59
|- - Sprite   Цитата(OM-S @ May 23 2018, 18:59) В ...   May 23 2018, 12:24
|- - _Anatoliy   Что-то у вас входной клок дюже быстро клацает для ...   May 23 2018, 12:38
|- - Sprite   Цитата(_Anatoliy @ May 23 2018, 19:38) Чт...   May 23 2018, 13:20
- - Sprite   Добрый день всем! Еще один нубский вопрос: Реш...   May 25 2018, 13:34
|- - iosifk   Цитата(Sprite @ May 25 2018, 16:34) Добры...   May 25 2018, 14:19
|- - Flip-fl0p   Цитата(Sprite @ May 25 2018, 16:34) Что д...   May 25 2018, 15:50
- - Nieve   1. У вас в схеме нет сигнала "reset", ре...   May 25 2018, 15:14
|- - Sprite   Цитата(Nieve @ May 25 2018, 22:14) 1. У в...   May 25 2018, 16:41
|- - Flip-fl0p   Цитата(Sprite @ May 25 2018, 19:41) Ниче ...   May 25 2018, 18:19
|- - iosifk   Цитата(Sprite @ May 25 2018, 19:41) Иосиф...   May 25 2018, 18:35
|- - andrew_b   Цитата(iosifk @ May 25 2018, 21:35) Одног...   May 26 2018, 05:03
|- - iosifk   Цитата(andrew_b @ May 26 2018, 08:03) А ...   May 26 2018, 07:09
- - Nieve   1. В таком случае как быть если схема зависла и не...   May 25 2018, 17:01
- - Sprite   Flip-Flop, Иосиф Григорьевич - спасибо! Прочит...   May 26 2018, 14:23


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 03:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.03162 секунд с 7
ELECTRONIX ©2004-2016