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

 
 
> Написание state machine, verilog, state machine, verilog
Evgeny72
сообщение Dec 1 2017, 07:35
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 4-01-14
Пользователь №: 79 899



Доброго всем дня!
Подскажите пожалуйста по state machine. Есть машина состояний:
Код
reg [1:0] out;
reg [1:0] state;

// Declare states
parameter
        S0 = 0,    
        S1 = 1,
        S2 = 2;

// Output depends only on the state
always @ (state)
begin
case (state)
    S0:
        out = 2'b01;
    S1:
        out = 2'b10;
    S2:
        out = 2'b11;
        
    default:
        out = 2'b00;
endcase
end

// Determine the next state
always @ (posedge CLK)
begin
if (RESET)
    state <= S0;
else
case (state)
    S0:
            state <= S1;
    S1:
            state <= S3;
    S3:
            state <= S3;
endcase
end


Как правильно написать на verilog, если мне необходимо чтобы состояние S0 сменилось на S1 через 20 периодов тактовой частоты? Насколько мне известно, описывается счетчик и 21 значение счетчика "приравнивается" (не совсем корректное слово) к состоянию S1. Как правильно это написать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Flip-fl0p
сообщение Dec 1 2017, 07:45
Сообщение #2


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Я давно задавал такой-же вопрос:
https://electronix.ru/forum/index.php?showt...0167&st=165 (сообщение 168)
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Dec 1 2017, 08:17
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



В гугле пишем

Clifford Cummings FSM

и читаем все паперы этого уважаемого мужчины.
Go to the top of the page
 
+Quote Post
Evgeny72
сообщение Dec 1 2017, 08:55
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 4-01-14
Пользователь №: 79 899



Цитата(Mad_max @ Dec 1 2017, 12:17) *
В гугле пишем

Clifford Cummings FSM

и читаем все паперы этого уважаемого мужчины.


есть у меня сей труд. Прочитаю ещё раз. Код машины был выдернут из примеров Quartus и быстренько изменен только для того, чтобы задать вопрос.

Цитата(Flip-fl0p @ Dec 1 2017, 11:45) *
Я давно задавал такой-же вопрос:
https://electronix.ru/forum/index.php?showt...0167&st=165 (сообщение 168)


там пример описан на VHDL, я с ним не дружу. Спасибо, попытаюсь разобраться.

написал следующим образом:
Код
//Counter
reg[X:0] counter;
always @(posedge CLK)
begin
    if (RESET)
        counter <= 0;
        else
            counter <= counter + 1'b1;
end

...

S0:
            begin
                if ((counter[X:0] == значение счетчика))
                    state <= S1;
                else
                    state <= S0;
            end


в симуляторе работает.

Сообщение отредактировал Evgeny72 - Dec 1 2017, 11:37
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Evgeny72   Написание state machine, verilog   Dec 1 2017, 07:35
|- - one_eight_seven   Цитата(Mad_max @ Dec 1 2017, 11:17) В гуг...   Dec 1 2017, 08:28
||- - andrew_b   Чувак любит двухпроцессное описание КА и не любит ...   Dec 1 2017, 08:48
- - one_eight_seven   Если у вас при нахождении в состоянии S0 ничего, т...   Dec 1 2017, 08:16
- - g700   Посмотрите здесь в главе 8. http://read.pudn.com/d...   Dec 1 2017, 12:52
|- - Evgeny72   прилагаю файл state machine от компании Altera. В ...   Jan 11 2018, 06:22
- - Flip-fl0p   Я бы названия состояниям автомата дал более осмысл...   Jan 11 2018, 06:44
- - Evgeny72   Цитата(Flip-fl0p @ Jan 11 2018, 09:4...   Jan 11 2018, 06:56
- - Flip-fl0p   Цитата(Evgeny72 @ Jan 11 2018, 09:56) У с...   Jan 11 2018, 07:07
- - Evgeny72   Цитата(Flip-fl0p @ Jan 11 2018, 10:0...   Jan 11 2018, 07:17
- - Flip-fl0p   Цитата(Evgeny72 @ Jan 11 2018, 10:17) да,...   Jan 11 2018, 07:23
- - Evgeny72   Цитата(Flip-fl0p @ Jan 11 2018, 10:2...   Jan 11 2018, 07:32
- - Flip-fl0p   Цитата(Evgeny72 @ Jan 11 2018, 10:32) Ткн...   Jan 11 2018, 07:42


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

 


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


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