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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Вопрос по верификации.
bark
сообщение Oct 12 2010, 13:57
Сообщение #1


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Сейчас в разработке довольно большой проект.
(будет в CycloneIII 40-55)
Разобрал его на блоки и модули для упрощения написания и отладки.

Сейчас занимаюсь имплементацией модулей. После объеденяю в блоки для дальнейших тестов и вписывания блоков в общий проект.

отладку отдельных модулей провожу в вейвформах. мне вроде хватает пока этого.

один из модулей имеет очень богатый интерфейс (>500 пинов ввода/вывода) и не хочет компилироваться т.к. у физического кристала нет стольких ног.

и вот вопрос:
Как его уговорить квартус компилиться проект с любым интерфейсом? чтобы потом можно было свободно проводить отладку? ну или как-то иначе обойти это "неудобство".

и ещё.

какие есть инструменты для эффективной верификации? (пока без железяки.. только на машине)
что почитать? куда посмотреть? я что-то только вейвдиаграммами пользоваться умею.

Quartus9.0 + Verilog


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Oct 12 2010, 14:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



телепатируя вопрос даю ответ - виртуальные пины:
/* synthesis altera_attribute="-name VIRTUAL_PIN ON" */

Цитата
куда посмотреть

в сторону modelsim,nc-sim,vcs - тут кому как нравится

bb-offtopic.gif
а отладку этого 500 лапового модуля тоже будете в вейвформе проводить ?
Go to the top of the page
 
+Quote Post
bark
сообщение Oct 12 2010, 14:08
Сообщение #3


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Цитата(Kuzmi4 @ Oct 12 2010, 17:01) *
телепатируя вопрос даю ответ - виртуальные пины:
/* synthesis altera_attribute="-name VIRTUAL_PIN ON" */


в сторону modelsim,nc-sim,vcs - тут кому как нравится

bb-offtopic.gif
а отладку этого 500 лапового модуля тоже будете в вейвформе проводить ?



эм. а что с этой строчкой сделать?

как-то так?

/* synthesis altera_attribute="-name VIRTUAL_PIN ON" */

// outputs

/* synthesis altera_attribute="-name VIRTUAL_PIN OFF" */

а отладку этого 500 лапового модуля тоже будете в вейвформе проводить ?
пока да.
половина этих ног - ответы вычислений шестнадцать 16-битных выводов.
их наблюдать довольно удобно. и ввод не сложный. просто его много )

в моделсиме кооогда-то работал (лет 7 назад) не помню его нифига.. надо поставить заново разбираться.
спасибо за совет

Сообщение отредактировал bark - Oct 12 2010, 14:08


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Oct 12 2010, 14:18
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(bark @ Oct 12 2010, 17:08) *
эм. а что с этой строчкой сделать?

Example5–2
page 11 / 42
Go to the top of the page
 
+Quote Post
bark
сообщение Oct 12 2010, 14:21
Сообщение #5


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Цитата(Kuzmi4 @ Oct 12 2010, 17:18) *
Example5–2
page 11 / 42


Спасибо! =)
beer.gif
буду пробовать.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
bark
сообщение Oct 18 2010, 08:23
Сообщение #6


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Поставил моделсим6,5б

пытаюсь с ним разобраться. первое что не могу понять - не хочет компилировать фалй который в Квартусе компилировались и уже нормально отлажены.
не могу понять в чем дело.
ошибки такого вида:
** Error: D:/Projects/MyDesigns/modelsimtest_02/calc_LLR_01.v(629): 'alfa_reg0' already declared in this scope (calc_LLR_01).
** Error: D:/Projects/MyDesigns/modelsimtest_02/calc_LLR_01.v(629): 'alfa_reg1' already declared in this scope (calc_LLR_01).
** Error: D:/Projects/MyDesigns/modelsimtest_02/calc_LLR_01.v(629): 'alfa_reg2' already declared in this scope (calc_LLR_01).
** Error: D:/Projects/MyDesigns/modelsimtest_02/calc_LLR_01.v(630): 'alfa_reg3' already declared in this scope (calc_LLR_01).

хоте естесственно что никаких повторных объявлений у меня нет.

пишу на верилоге.
может в моделсиме что-то настроить надо ещё чтобы он нормально воспринимал код?

---------------

Моделсим воспринимает использование переменных до их объявления?

т.е. типа такая конструкция будет работать?

wire B = A ;
reg A ;

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

reg A ;
wire B = A ;

квартус всё нормально воспринимает =\
это никак нельзя поправить?

и вообще если проет делается в квартусе то как правильно проводить симуляцию в моделсиме.

короче я опять запутался. подскажите я правильно иду?

Сообщение отредактировал bark - Oct 18 2010, 08:36


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 18 2010, 09:48
Сообщение #7


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(bark @ Oct 18 2010, 02:23) *
хоте естесственно что никаких повторных объявлений у меня нет.

может быть поспорим? Ибо негоже объявлять переменную после ее использования. Парсеры у ква и ментора разные.


--------------------
Go to the top of the page
 
+Quote Post
bark
сообщение Oct 18 2010, 09:55
Сообщение #8


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Цитата(des00 @ Oct 18 2010, 12:48) *
может быть поспорим? Ибо негоже объявлять переменную после ее использования. Парсеры у ква и ментора разные.


вначале стоит
output wire A = B ;


позже где вормируется B он и объявляется.
так удобней, понятней и логичнее.
где что объявляется там и формируется.
а всё теперь переписывать уичтывая непонятливость моделсима это фейл. к сожалению (

раньше когда-то пользовался моделсимом но для VHDL, а не Verilog и вроде таких проблем не припоминаю.. хотя давно это было.

проет уже из пары десятков файлов и кода в них по 1000-1500 строк.. прийдётся отказаться от моделсима если это не решается никак =\

или всё-таки есть варианты?


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 18 2010, 09:58
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(bark @ Oct 18 2010, 04:55) *
вначале стоит
output wire A = B ;

связи логической не вижу с постом вашим ранее
Цитата
** Error: D:/Projects/MyDesigns/modelsimtest_02/calc_LLR_01.v(629): 'alfa_reg0' already declared in this scope (calc_LLR_01).
** Error: D:/Projects/MyDesigns/modelsimtest_02/calc_LLR_01.v(629): 'alfa_reg1' already declared in this scope (calc_LLR_01).
** Error: D:/Projects/MyDesigns/modelsimtest_02/calc_LLR_01.v(629): 'alfa_reg2' already declared in this scope (calc_LLR_01).
** Error: D:/Projects/MyDesigns/modelsimtest_02/calc_LLR_01.v(630): 'alfa_reg3' already declared in this scope (calc_LLR_01).


--------------------
Go to the top of the page
 
+Quote Post
bark
сообщение Oct 18 2010, 10:26
Сообщение #10


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



как я понимаю когда компилятор видит

output wire A = B ;

он из неизвестного символа В делает wire B. т.к. ведь объявление цепей не обязательно.
а когда ниже видит

reg В ;
он вероятно считет это повторным объявлением.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 18 2010, 10:43
Сообщение #11


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(bark @ Oct 18 2010, 04:26) *
как я понимаю когда компилятор видит

Это не вы понимаете, это в стандарте написано. А ментор и альтера разрулили это по разному.
Цитата
раньше когда-то пользовался моделсимом но для VHDL, а не Verilog и вроде таких проблем не припоминаю.. хотя давно это было.

В VHDL это возникнуть не могло в принципе. Т.к. секция объявлений сигналов находится раньше кода.
Цитата
проет уже из пары десятков файлов и кода в них по 1000-1500 строк.. прийдётся отказаться от моделсима если это не решается никак =\

Стандарт нужно было читать до того, как код писать %)


--------------------
Go to the top of the page
 
+Quote Post
bark
сообщение Oct 18 2010, 11:42
Сообщение #12


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Цитата(des00 @ Oct 18 2010, 13:43) *
Стандарт нужно было читать до того, как код писать %)


так и быть ) допишу проект, и потом, если ещё останусь на этой работе, почитаю стандарт. wink.gif


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
Intekus
сообщение Oct 18 2010, 11:45
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 4-03-08
Из: Москва
Пользователь №: 35 621



Сам "влетал" в аналогичную ситуацию Quartus-Modelsim. Но времени тогда было много, поэтому не поленился, освоил регулярные выражения и провёл пакетную замену скриптом на Python. Вручную было бы быстрее (проект на тот момент был не таким большим), но полученные знания не раз пригодились после.


--------------------
...а Сила, Брат - она - в несиловых решениях.
Go to the top of the page
 
+Quote Post
bark
сообщение Feb 8 2011, 16:29
Сообщение #14


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

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



снова подниму ветку.

как воспользоваться виртуализацией пинов /* synthesis altera_attribute="-name VIRTUAL_PIN ON" */ ?
если объявление интерфейса идёт таким манером:

Код
module main  (
  input       clk,
  input       rst,
  output [7:0] data
  );
.....
endmodule


Сообщение отредактировал bark - Feb 8 2011, 16:29


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Feb 9 2011, 13:06
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(bark @ Feb 8 2011, 19:29) *
снова подниму ветку.
как воспользоваться виртуализацией пинов /* synthesis altera_attribute="-name VIRTUAL_PIN ON" */ ?

http://electronix.ru/forum/index.php?showtopic=85537 пост 5
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 08:07
Рейтинг@Mail.ru


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