|
Написание state machine, verilog, state machine, verilog |
|
|
|
Dec 1 2017, 07:35
|
Участник

Группа: Участник
Сообщений: 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. Как правильно это написать?
|
|
|
|
|
 |
Ответов
|
Jan 11 2018, 06:56
|
Участник

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

|
Цитата(Flip-fl0p @ Jan 11 2018, 09:44)  Я бы названия состояниям автомата дал более осмысленные. Это сегодня Вы помните. А что будет через пару месяцев ? Ну и разделил логику переключения автомата и логику формирования выходных состояний в разные блоки. Так нагляднее код, хоть и больше. Но это не обязательно. У себя в проекте я все описал, в файле приведено лишь то, что на видео от Альтеры.
|
|
|
|
|
Jan 11 2018, 07:17
|
Участник

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

|
Цитата(Flip-fl0p @ Jan 11 2018, 10:07)  Так у альтеры все шаблоны легко найти в Quartus. Edit -> Insert template->... Там много чего интересного есть  да, есть template. Этого там нет. В файле есть ответ на мой же вопрос и ради чего была создана тема: ...если мне необходимо чтобы состояние S0 сменилось на S1 через 20 периодов тактовой частоты?
Сообщение отредактировал Evgeny72 - Jan 11 2018, 07:30
|
|
|
|
|
Jan 11 2018, 07:32
|
Участник

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

|
Цитата(Flip-fl0p @ Jan 11 2018, 10:23)  Там тоже самое, но другими словами (стилем) описано.... Ткните носом в template с учетом выше сказанного - если мне необходимо чтобы состояние S0 сменилось на S1 через 20 периодов тактовой частоты? А вообще - в спам "уходим".
Сообщение отредактировал Evgeny72 - Jan 11 2018, 07:32
|
|
|
|
Сообщений в этой теме
Evgeny72 Написание state machine, verilog Dec 1 2017, 07:35 Flip-fl0p Я давно задавал такой-же вопрос:
https://electroni... Dec 1 2017, 07:45 Mad_max В гугле пишем
Clifford Cummings FSM
и читаем все... Dec 1 2017, 08:17  one_eight_seven Цитата(Mad_max @ Dec 1 2017, 11:17) В гуг... Dec 1 2017, 08:28   andrew_b Чувак любит двухпроцессное описание КА и не любит ... Dec 1 2017, 08:48  Evgeny72 Цитата(Mad_max @ Dec 1 2017, 12:17) В гуг... Dec 1 2017, 08:55 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 Цитата(Evgeny72 @ Jan 11 2018, 10:32) Ткн... Jan 11 2018, 07:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|