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

 
 
 
Reply to this topicStart new topic
> Верификация самодельных процессоров
ataradov
сообщение Jan 9 2007, 16:04
Сообщение #1


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

Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202



Подскажите методы верификации процессоров.
Про специальные языки я слышал. Но может есть какие-то более простые методики.

Есть какие-нибудь книжки в электронном виде, но только написаные доступным языком (рус./англ. не важно)?

А то поиском находятся только современные статьи, а они все для весьма продвинутых. Мне-же нужно получить обзор вариантов.
Go to the top of the page
 
+Quote Post
TailWind
сообщение Jan 9 2007, 16:51
Сообщение #2


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

Группа: Свой
Сообщений: 125
Регистрация: 15-11-04
Пользователь №: 1 135



Writing Testbenches: Functional Verification of HDL Models
by Janick Bergeron

Там про верификацию вообще.
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 9 2007, 19:00
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



По опыту скажу (выпустил один проц в кремнии, второй сейчас готовлю). Пишем вручную тест-программу, проверяем по одной инструкции из каждого класса со всеми видами адресаций. Не забывая про всякие статусные биты, и т.п., на что команда влияет. В конце всего проверяем все регистры и ВСЮ память на предмет того, не влияет ли какая нибудь команда на то, на что она влиять не должна. Отдельно дрючится буфер предвыборки-конвейер. На всякие ситуации, которые можно самому предположить. Далее смотрим на синтезированном нетлисте покрытие, и если не 100, следующая итерация (уже зная, где недотестировано). И так до потери пульса, т.е. до 100 покрытия и до самоуверенности в том, что больше тестировать нечего (покрытие может быть 100, но это не значит, что процессор работает полностью как задумал разработчик при каком нить хитром условии)

Никаких средств автоматизации тут нет. Так как проверяем функциональность, т.е. работает так как задумано, или не так. А значит пишем тест на ассемблере того самого проца, который разрабатывается. Ну и подаем всякие необходимые тестовые воздействия на пины, не касающиеся ОЗУ/ПЗУ
Go to the top of the page
 
+Quote Post
vitan
сообщение Jan 9 2007, 22:00
Сообщение #4


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Цитата(SM @ Jan 9 2007, 19:00) *
Пишем вручную тест-программу, проверяем по одной инструкции из каждого класса со всеми видами адресаций. Не забывая про всякие статусные биты, и т.п., на что команда влияет.


А в операндах все регистры используете?
У меня был случай, когда один регистр влиял на другой.
Процессор 1890ВМ1Т. Не Вы ли делали? wink.gif
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 9 2007, 23:22
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



У меня регистров как таковых нет, за базу взят 51-й процессор, который безумно расширен. Регистры в моем случае это всего лишь метод адресации ОЗУ (и регистровый файл может быть расположен почти в любом месте ОЗУ), посему таких проблем нет. Тест ОЗУ все такое выявляет, а он прогоняется первым делом, после того, как проверена работоспособность необходимых для него инструкций. А если был бы регистровый файл отдельно - то естественно бы проверял его отдельно.

ЗЫ к указанному Вами процессору я никакого отношения не имею.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Jan 26 2007, 23:19
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(SM @ Jan 9 2007, 19:00) *
Далее смотрим на синтезированном нетлисте покрытие, и если не 100, следующая итерация

А чем смотрите покрытие? Каким софтом?
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 27 2007, 01:47
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(den_realan @ Jan 26 2007, 23:19) *
А чем смотрите покрытие? Каким софтом?


Это показывает любой моделятор после прогона тест-вектора. В моем случае был Verilog-XL. Сейчас буду работать с IUS. Так как на фабе именно они признаны годными для sign-off.
Go to the top of the page
 
+Quote Post

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

 


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


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