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

 
 
> Надо сформировать сложный сигнал, Подкиньте идейку...
torik
сообщение Dec 15 2009, 12:44
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Надо сформировать синхроимпульсы полного телевизионного сигнала PAL в соответсвии с ГОСТ. Там получается довольно сложная последовательность... Правда ширина сигнала всего 1 бит
Как красиво это сделать?

Первое, что приходит в голову, организовать конструкцию if else if else if else...
Но что получится когда эта конструкция будет включать пару десятков или даже больше таких последовательных условных операторов?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Shivers
сообщение Dec 15 2009, 15:51
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



набросал автомат, сделал бы что то вроде этого:
Код
wire DOUT;  // выход
//импульсы
wire [8:0] sample0 = 9'b100110011;
wire [2:0] sample1 = 3'b101;
......
wire [5:0] sample9 = 6'b110010;
//длины импульсов
wire [7:0] len0 = 8'h9, len1 = 8'h3, .. len9 = 8'h6;

reg [3:0] state;  //счетчик, номер последовательности
reg [7:0] count; //
reg [31:0] buf;  //стек для импульсов

always @(posedge clk or negedge resetn)
if(~resetn)
  begin
   state <= 4'h0;
   count <= 8'h0;
   buf[31:0] <= sample0;
  end
else
  begin
   if(state < 10)
   begin
    if(
       (state == 4'h0) & (count == len0) |
...
       (state == 4'h9) & (count == len9) )   //достигнут конец импульса
     begin
      state <= state + 1;       // смена номера импульса
      count <= 8'h0;             //обнуление указателя
      buf [31:0] <= ((state == 4'h0) & (count == len0)) ? sample0 :      //загрузка следющего ипульса
                             (((state == 4'h1) & (count == len1)) ? sample1 :
                                .........
                                sample9 ))))...))
     end
   else
    begin
     count <= count + 1;
     buf [31:0] <= buf [31:0] >> 1;  //сдвиг стека
    end
  end
else   state <= 4'h0; //полный цикл импульсов

assign DOUT = buf[0];

После синтеза будут два счетчика с кучей комбинаторики. Если на мегафункциях сделать, в ПЛИС должно работать относительно шустро.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- torik   Надо сформировать сложный сигнал   Dec 15 2009, 12:44
- - des00   Цитата(torik @ Dec 15 2009, 06:44) Надо с...   Dec 15 2009, 12:50
|- - Самурай   Цитата(des00 @ Dec 15 2009, 15:50) лет 6 ...   Dec 15 2009, 13:54
- - torik   Есть правда вариант все это промасштабировать и де...   Dec 15 2009, 12:52
- - iosifk   Цитата(torik @ Dec 15 2009, 15:44) Надо с...   Dec 15 2009, 13:08
|- - Maverick   Цитата(iosifk @ Dec 15 2009, 17:08) На са...   Dec 15 2009, 16:25
|- - iosifk   Цитата(Maverick @ Dec 15 2009, 19:25) а м...   Dec 16 2009, 06:18
- - torik   ЦитатаНа самом деле, нужно только автомат состояни...   Dec 15 2009, 13:18
|- - iosifk   Цитата(torik @ Dec 15 2009, 16:18) Идея п...   Dec 15 2009, 13:52
- - AndrewS6   Можно записать желаемую последовательность значени...   Dec 15 2009, 13:23
|- - Shivers   Цитата(AndrewS6 @ Dec 15 2009, 16:23) Мож...   Dec 15 2009, 13:52
- - torik   Вспомнил, примерно так: reg [6:0] State; reg ...   Dec 15 2009, 13:43
- - torik   Цитатаа вот референс дизайн лежит у Альтеры... htt...   Dec 15 2009, 14:17
|- - des00   Цитата(torik @ Dec 15 2009, 08:17) А мне ...   Dec 16 2009, 04:13
- - torik   Цитатачто там сложного то ? ПЦТС он простой как 3 ...   Dec 16 2009, 08:44
- - torik   Ради интереса попробовал смоделировать синхросигна...   Dec 16 2009, 13:13
|- - Джеймс   Цитата(torik @ Dec 16 2009, 16:13) Ради и...   Dec 16 2009, 18:59
- - torik   ЦитатаНе знаю, у меня ваш проект моделируется за п...   Dec 17 2009, 06:09
|- - Джеймс   Цитата(torik @ Dec 17 2009, 09:09) Да, Mo...   Dec 17 2009, 18:12
|- - ReAl   Цитата(torik @ Dec 17 2009, 08:09) Я прив...   Dec 20 2009, 11:05
- - torik   Однако, все равно медленно, если задать все параме...   Dec 20 2009, 10:46
- - torik   ЦитатаКоличество строк в полях одинаковое, просто ...   Dec 21 2009, 08:52


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

 


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


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