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

 
 
> 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 23 2018, 11:49
Сообщение #2


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

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



Flip-fl0p, Иосиф Григорьевич спасибо! Подумаю над Вашим вариантом, сейчас другая проблема возникла - не хочет запускаться pll clock. Делал так:
1. Сгенерил мегавизардом компонент pll с коэффициентом умножения 6. Один клок на входе и один на выходе.
2. Выкинул все из проекта, кроме pll.
3. Скопировал файл altera_mf.v и добавил его в компиляцию (без него ModelSim не может найти altpll).



Нажимаю на "ТЫЦ" - все собирается, проходит компиляция файлов и тестбенча, но выдается ошибка:
Код
** Error: (vsim-3601) Iteration limit reached at time 0 ns.

Сам "ТЫЦ.bat" и файлы проекта во вложении. Отладку провожу в ModelSim 10.3d.

Прошу прощения, нашел ошибку: в строке макроса было задано слишком малое время симуляции:
Код
vsim -t 1ns tb

Прикрепленные файлы
Прикрепленный файл  project.rar ( 192 килобайт ) Кол-во скачиваний: 2
 
Go to the top of the page
 
+Quote Post
OM-S
сообщение May 23 2018, 11:59
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-05-05
Из: г. Москва
Пользователь №: 4 944



В tb.v поставьте начальное значение для регистра clk, иначе инверсия неизвестного значения даст неизвестное значение

Не могу запустить ваш пример и проверить, но в в macros.do наверно нужно указать симуляцию с разрешением 1ps.(строка 4 vsim -t 1ps tb).
Pll обычно симулируются с пикосекундными разрешениями.

Сообщение отредактировал OM-S - May 23 2018, 12:15
Go to the top of the page
 
+Quote Post
Sprite
сообщение May 23 2018, 12:24
Сообщение #4


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

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



Цитата(OM-S @ May 23 2018, 18:59) *
В tb.v поставьте начальное значение для регистра clk, иначе инверсия неизвестного значения даст неизвестное значение

Спасибо! Исправил. Теперь другая проблема: клок вместо умножения начал делиться)



Тестбенч:
Код
`timescale 1ps / 1ps

`include "altera_mf.v"
`include "main.v"
`include "pll.v"

module tb;
    reg clk;
    wire clk_108MHz;
    
    main main_tb(
        .clk(clk),
        .clk_108MHz(clk_108MHz));
    
    always
        #5 clk = !clk;

    initial
    begin
        clk = 0;
        #10000;    
        $stop;
    end
    
endmodule


Макрос запуска:
Код
transcript on
vlib work
vlog -sv tb.v
vsim -t 1ps tb
add wave /*
quietly radix unsigned
configure wave -timelineunits ns
run -all
wave zoom full


Причем если в тестбенче явно указываю время, т.е. вместо #5 ставлю #5ns и вместо #10000 ставлю #10000ns - то все работает. В чем проблема?
nice_vladi, похоже Вы правы - для симуляции проще использовать искусственные клоки. По крайней мере один железный плюс я здесь вижу - размер проекта меньше (не включаются файлы типа altera_mf.v и т.д.) Насколько такой подход правильный - не знаю.


Сообщение отредактировал Sprite - May 23 2018, 12:35
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение May 23 2018, 12:38
Сообщение #5


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Что-то у вас входной клок дюже быстро клацает для 18 МГц...
Go to the top of the page
 
+Quote Post
Sprite
сообщение May 23 2018, 13:20
Сообщение #6


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

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



Цитата(_Anatoliy @ May 23 2018, 19:38) *
Что-то у вас входной клок дюже быстро клацает для 18 МГц...

Это потому что я в тестбенче указываю задержку в тактах, а не в реальном времени, а в качестве величины такта система, как я понимаю, принимает минимальный timescale из всех модулей проекта, в данном случае как правильно заметил OM-S - это pll.

По совету nice_vladi задефайнил все, что касается pll. Теперь при симуляции в modelsim если дефайн активен - то pll волшебным образом исчезает из схемы)). Получилось довольно красиво и главное работает! biggrin.gif

Сообщение отредактировал Sprite - May 23 2018, 13:20
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
- - Sprite   Спасибо всем за критику) Задачу в двух словах опи...   May 22 2018, 10:24
|- - iosifk   Цитата(Sprite @ May 22 2018, 13:24) Спаси...   May 22 2018, 12:20
|- - Sprite   Цитата(iosifk @ May 22 2018, 19:20) У Вас...   May 22 2018, 12:28
|- - iosifk   Цитата(Sprite @ May 22 2018, 15:28) Чтени...   May 22 2018, 12:35
|- - Sprite   Цитата(iosifk @ May 22 2018, 19:35) И в к...   May 22 2018, 15:54
|- - 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
|- - nice_vladi   Цитата(Sprite @ May 23 2018, 11:01) [b] К...   May 23 2018, 11:51
- - 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 Текстовая версия Сейчас: 24th July 2025 - 22:38
Рейтинг@Mail.ru


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