[an error occurred while processing this directive]
Про State Machine на верилоге.
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено dxp 15 ноября 2004 г. 12:00

В учебниках и мануалах приводится следующий стиль описания конечных автоматов: комбинационная часть отдельно, последовательнастная - отдельно. Т.е. нечто вроде:


//-----------------------------------
reg [2:0] StateMachine;
reg [2:0] NextState;

localparam stS1 = 3'b001;
localparam stS2 = 3'b010;
localparam stS3 = 3'b100;


always @(*)
begin
case(StateMachine)
stS1:
if(...) NextState <= ...;

stS2:
NextState <= ...;
...

end

always @(posedge clk)
StateMachine <= NextState;

//-----------------------------------

Но мне такой стиль при всей его простоте не кажется всегда удобным. Более того, у меня чаще получается совсем не так - комбинационная часть идет вместе с последовательноснтной в одном always @(posedge clk ...) блоке. Там получается большой case блок, где все и разруливается - еще много всякой сопутствующей логики (из-за чего, кстати, и удобство этого стиля). Так оно представляется более наглядно - видно, как по состояниям логика меняется.

По реализации, я понял, разницы никакой нет. Может есеть какие-то нюансы. Кто что думает?

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru