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

 
 
> Новичковое: начальное состояние FSM
ReedCat
сообщение Feb 9 2008, 16:34
Сообщение #1


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

Группа: Свой
Сообщений: 109
Регистрация: 14-01-08
Из: Москва
Пользователь №: 34 069



Вот и следующий этап наступил. smile.gif
Схема нормально симулируется, синтезируется и... Конечно не работает. smile.gif

Post-Route simulation показывает, что FSM при старте всего этого безобразия оказалась не в состоянии "0" (как при моделировании), а в состоянии "7".

Собственно, вопрос: как корректно установить схему в начальное состояние при старте кристалла (по конфигурации из компа или EPROM)? За что "зацепиться"?

Кристалл - Spartan-3E

Сообщение отредактировал ReedCat - Feb 9 2008, 16:37
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Boris_TS
сообщение Feb 9 2008, 18:12
Сообщение #2


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Reset FSM - средство действенное, но вообще-то должно и без Reset работать правильно.
Поэтому для решения Вашей проблемы, укажите среды разработки которыми Вы пользуетесь для синтеза, имплементации и моделирования (одного названия ПЛИС недостаточно).
Также необходимо, чтобы Вы поделились фрагментом кода описывающего этот FSM - тогда можно будет посмотреть: может, что нитак в коде ?
Go to the top of the page
 
+Quote Post
RHnd
сообщение Feb 9 2008, 18:51
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



А размерность регистра состояния какая? Если reg [2:0], то понятно - просто у Вас тригера по умолчанию не в 0 становятся, а в 1. А методы борьбы разные. Начиная от объявления типа reg [2:0] State=InitState, работающего не везде, и до нормального резета.
Go to the top of the page
 
+Quote Post
ReedCat
сообщение Feb 9 2008, 19:26
Сообщение #4


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

Группа: Свой
Сообщений: 109
Регистрация: 14-01-08
Из: Москва
Пользователь №: 34 069



Цитата(RHnd @ Feb 9 2008, 21:51) *
А размерность регистра состояния какая? Если reg [2:0], то понятно - просто у Вас тригера по умолчанию не в 0 становятся, а в 1. А методы борьбы разные. Начиная от объявления типа reg [2:0] State=InitState, работающего не везде, и до нормального резета.

Если бы так... Он reg[3:0]. Если бы оно встало в "F" - я бы не удивился. А семерка - как-то выбила из колеи smile.gif

А по поводу reg [3:0] state=4'h0; - это оказалось единственное место, где я забыл это сделать sad.gif
Поставил - и всё заработало! Спасибо за пинок в правильном направлении! smile.gif



Цитата(Boris_TS @ Feb 9 2008, 21:12) *
Reset FSM - средство действенное, но вообще-то должно и без Reset работать правильно.
Поэтому для решения Вашей проблемы, укажите среды разработки которыми Вы пользуетесь для синтеза, имплементации и моделирования (одного названия ПЛИС недостаточно).
Также необходимо, чтобы Вы поделились фрагментом кода описывающего этот FSM - тогда можно будет посмотреть: может, что нитак в коде ?

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

Среда - ISE Xilinx 9.2i, симулятор - его же встроенный

Сейчас вроде бы заработало (с инициализацией в коде), но, хотелось бы всё-таки узнать, за какой сигнал чипа можно "зацепиться", чтобы отследить первоначальный старт микросхемы?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 20:29
Рейтинг@Mail.ru


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