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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Логический автомат
Prutvel
сообщение Feb 18 2011, 17:32
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 5-11-10
Пользователь №: 60 674



Здравствуйте! Помогите разобраться, пожалуйста! ОООченьнужно!
Дело в том, что у меня задана временная диаграмма. В соответствии с ней нужно сделать пересчетное устройство!


как это сделать???
Go to the top of the page
 
+Quote Post
DW0
сообщение Feb 19 2011, 21:25
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828



нужно смотреть диаграмму, но на первый взгляд похоже на конечный автомат state machine которая описывается графом, таблицей переходов, ну а реализация обсуждалась много раз и литературы и мануавлов по этому валом. еще одно название FSM (Finite-State Machine)
Go to the top of the page
 
+Quote Post
AlphaMil
сообщение Feb 20 2011, 06:39
Сообщение #3


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

Группа: Участник
Сообщений: 135
Регистрация: 1-01-10
Из: Минск, Беларусь
Пользователь №: 54 588



FSM наверное легче всего описать через case-структуру. Посмотрите в хелпе к своей САПР или по используему языку.
Go to the top of the page
 
+Quote Post
Prutvel
сообщение Feb 20 2011, 09:30
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 5-11-10
Пользователь №: 60 674



Цитата(AlphaMil @ Feb 20 2011, 09:39) *
FSM наверное легче всего описать через case-структуру. Посмотрите в хелпе к своей САПР или по используему языку.


а примера нет?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 20 2011, 09:54
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Prutvel
пример из хелпа хилых (One-Hot Fast Moore FSM)
CODE


parameter <state1> = 8'b00000001;
parameter <state2> = 8'b00000010;
parameter <state3> = 8'b00000100;
parameter <state4> = 8'b00001000;
parameter <state5> = 8'b00010000;
parameter <state6> = 8'b00100000;
parameter <state7> = 8'b01000000;
parameter <state8> = 8'b10000000;

(* FSM_ENCODING="ONE-HOT", SAFE_IMPLEMENTATION="NO" *) reg [7:0] state = <state1>;

always@(posedge <clock>)
if (<reset>) begin
state <= <state1>;
<outputs> <= <initial_values>;
end
else
(* FULL_CASE, PARALLEL_CASE *) case (state)
<state1> : begin
if (<condition>)
state <= <next_state>;
else if (<condition>)
state <= <next_state>;
else
state <= <next_state>;
<outputs> <= <values>;
end
<state2> : begin
if (<condition>)
state <= <next_state>;
else if (<condition>)
state <= <next_state>;
else
state <= <next_state>;
<outputs> <= <values>;
end
<state3> : begin
if (<condition>)
state <= <next_state>;
else if (<condition>)
state <= <next_state>;
else
state <= <next_state>;
<outputs> <= <values>;
end
<state4> : begin
if (<condition>)
state <= <next_state>;
else if (<condition>)
state <= <next_state>;
else
state <= <next_state>;
<outputs> <= <values>;
end
<state5> : begin
if (<condition>)
state <= <next_state>;
else if (<condition>)
state <= <next_state>;
else
state <= <next_state>;
<outputs> <= <values>;
end
<state6> : begin
if (<condition>)
state <= <next_state>;
else if (<condition>)
state <= <next_state>;
else
state <= <next_state>;
<outputs> <= <values>;
end
<state7> : begin
if (<condition>)
state <= <next_state>;
else if (<condition>)
state <= <next_state>;
else
state <= <next_state>;
<outputs> <= <values>;
end
<state8> : begin
if (<condition>)
state <= <next_state>;
else if (<condition>)
state <= <next_state>;
else
state <= <next_state>;
<outputs> <= <values>;
end
endcase

Go to the top of the page
 
+Quote Post
Prutvel
сообщение Feb 20 2011, 10:04
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 5-11-10
Пользователь №: 60 674



уау...спасибо за пример! а в какой это программе?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 20 2011, 10:18
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Xilinx ISE v11.5
жмаете на лампочку и просвещаетесь wink.gif в разделе "Synthesis Constructs"
Go to the top of the page
 
+Quote Post
Prutvel
сообщение Feb 20 2011, 10:24
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 5-11-10
Пользователь №: 60 674



Цитата(Kuzmi4 @ Feb 20 2011, 13:18) *
Xilinx ISE v11.5
жмаете на лампочку и просвещаетесь wink.gif в разделе "Synthesis Constructs"

ух ты, спасибо disco.gif

но это я так понимаю, программа работы самого пересчетного устройства? ... а принципиальную схему как делать?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 20 2011, 10:31
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Prutvel
Это пример FSM, используя его вы можете налабать всё что вам нужно, исходя из временной диаграммы которая отстутвует в данном топике biggrin.gif
Исходя из рисунка 2 (схема запуска ??) - вам вообще не нужен FSM - кромсаете примерные конструкции под вашу разрядность, склеиваете докучи - и всё cool.gif
Go to the top of the page
 
+Quote Post
Prutvel
сообщение Feb 20 2011, 10:40
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 5-11-10
Пользователь №: 60 674



Цитата(Kuzmi4 @ Feb 20 2011, 13:31) *
Исходя из рисунка 2 (схема запуска ??) - вам вообще не нужен FSM - кромсаете примерные конструкции под вашу разрядность, склеиваете докучи - и всё cool.gif


у меня диаграмма есть на бумаге, не знаю в какой проге ее рисовать... разрядность, докучи - это что? wacko.gif
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 20 2011, 10:43
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(Prutvel @ Feb 20 2011, 12:40) *
...разрядность - это что?

Из истоков:
Цитата
...разрядностью устройства называется количество разрядов (==битов), одновременно обрабатываемых этим устройством..

Go to the top of the page
 
+Quote Post
Prutvel
сообщение Feb 20 2011, 11:36
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 5-11-10
Пользователь №: 60 674




как по такой диаграмме делать

Сообщение отредактировал Prutvel - Feb 20 2011, 11:37
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 20 2011, 11:43
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Prutvel
осталось только переименовать циферки по вертикали из 1/2... в понятные людям названия и написать словами как должны меняться выхода от времени и входных сигналов laughing.gif
Go to the top of the page
 
+Quote Post
Prutvel
сообщение Feb 20 2011, 11:52
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 5-11-10
Пользователь №: 60 674



Цитата(Kuzmi4 @ Feb 20 2011, 14:43) *
2 Prutvel
осталось только переименовать циферки по вертикали из 1/2... в понятные людям названия и написать словами как должны меняться выхода от времени и входных сигналов laughing.gif


1 - это первый сигнал, 2 - второй сигнал, 3 - третий сигнал и т.д. причем, все значения в милисекундах...

а что значит выхода?
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Feb 20 2011, 13:01
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(Prutvel @ Feb 20 2011, 14:52) *
1 - это первый сигнал, 2 - второй сигнал, 3 - третий сигнал и т.д. причем, все значения в милисекундах...
а что значит выхода?


У вас в методичке к лабе всё написано. И даже структурная схема устройства нарисована. Вам остаётся только нарисовать счётчик, дешифратор и 7 RS-триггеров. Если вы не знаете, как это делать - то надо постить в раздел для начинающих схемотехников.
FPGA по-моему тут не причём.

И ещё вам в методичке про Multisim намекают - потыкайтесь там может наступит просветление.
Go to the top of the page
 
+Quote Post

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

 


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


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