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

 
 
> Вопросы начинающего в ПЛИС
Shaienn
сообщение Feb 3 2010, 11:15
Сообщение #1


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

Группа: Участник
Сообщений: 103
Регистрация: 21-06-09
Пользователь №: 50 494



Добрый день.

Начинаю работать с ПЛИС. Хочу сделать устройство, выделяющее четные и нечетные единицы в исходной информационной последовательности.

написал следующий код:
Код
module Try_AND
(
    // {{ALTERA_ARGS_BEGIN}} DO NOT REMOVE THIS LINE!
    clock, data, ones, zeroes
    // {{ALTERA_ARGS_END}} DO NOT REMOVE THIS LINE!
);
// Port Declaration
    input clock;
    input data;
    output ones;
    output zeroes;
    // {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE!
    // {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE!
    
    wire p1;
    reg out_c;
    reg out_n;
    
    assign ones = out_c & data;
    assign zeroes = out_n & data;
    assign p1 = data & clock;    
    
    always @(posedge p1) begin
                         out_c<=~out_c;
                         out_n<=out_c;
                         end
        
            
endmodule


Первая просьба. Посмотрите, вообще правильно пишу?

Второй вопрос, Квартус выдает следующий анализ:
Прикрепленное изображение


Такой сдвиг относительно исходных сигналов - это нормально? Я понимаю, задержка и все такое, но как-то много. И как избавиться от коротких импульсов, возникающих, видимо, как раз из-за этой задержки?

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sazh
сообщение Feb 3 2010, 12:31
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Shaienn @ Feb 3 2010, 14:15) *
Добрый день.

Начинаю работать с ПЛИС. Хочу сделать устройство, выделяющее четные и нечетные единицы в исходной информационной последовательности.


В исходной информационной последовательности нули ведь тоже есть. При этом надо идентифицировать паузу (когда нет информационной последовательности).
Должно быть как минимум два входных провода по данным. (например когда есть последовательность, данные взаимоинверсны, когда нет последовательности, на обоих входах данных например нули).
При Вашем подходе нет понятия начала посылки данных.
Go to the top of the page
 
+Quote Post
Shaienn
сообщение Feb 3 2010, 12:43
Сообщение #3


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

Группа: Участник
Сообщений: 103
Регистрация: 21-06-09
Пользователь №: 50 494



Цитата(sazh @ Feb 3 2010, 15:31) *
В исходной информационной последовательности нули ведь тоже есть. При этом надо идентифицировать паузу (когда нет информационной последовательности).
Должно быть как минимум два входных провода по данным. (например когда есть последовательность, данные взаимоинверсны, когда нет последовательности, на обоих входах данных например нули).
При Вашем подходе нет понятия начала посылки данных.


ну как, в конечном назначении
Код
assign ones = data & out_c ? 1'b1 : 1'b0;

условие появления сигнала на линии - это наличие единицы в информационной последовательности и установленный флаг четной единицы. Когда в информационной последовательности ноль, на выходе тоже ноль.

Цитата(Dima_G @ Feb 3 2010, 15:34) *
если я правильно понимаю Вашу задачу, то ее можно описать так:

Код
bit bNot_Chet;

always_ff @(posedge bClock, posedge bReset) begin
  if (bReset) begin
    bNot_Chet <= '0;
  end else
  if (bData)  begin
    bNot_Chet <= ~bNot_Chet;
  end
end

assign bChetOne     = (~bNot_Chet) && bData;
assign bNotChetOne = bNotChet && bData;


Я думал примерно также (см. первый пост). У меня только отсутствует сигнал Reset.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Shaienn   Вопросы начинающего в ПЛИС   Feb 3 2010, 11:15
- - Костян   У вас асинхронный дизайн !!! Так делат...   Feb 3 2010, 11:26
- - Shaienn   попробовал применить Ваш совет: Кодmodule Try_AND...   Feb 3 2010, 11:57
|- - Костян   Цитата(Shaienn @ Feb 3 2010, 09:57) Код ...   Feb 3 2010, 12:16
|- - Dima_G   Цитата(Shaienn @ Feb 3 2010, 15:57) Резул...   Feb 3 2010, 12:20
- - Shaienn   не, Вы меня, кажется, немножко не поняли. Задача ...   Feb 3 2010, 12:22
|- - Dima_G   Цитата(Shaienn @ Feb 3 2010, 15:22) Так в...   Feb 3 2010, 12:34
|- - sazh   Цитата(Shaienn @ Feb 3 2010, 15:43) услов...   Feb 3 2010, 12:52
- - yuri_d   Цитата(Shaienn @ Feb 3 2010, 14:15) Такой...   Feb 3 2010, 12:58
- - Shaienn   Всем спасибо. Вопросы пока кончились.   Feb 3 2010, 13:13
- - Dima_G   .   Feb 3 2010, 13:17
- - Shaienn   Возник еще один вопрос: Кодinput clock; output S;...   Feb 3 2010, 15:44
|- - des00   Цитата(Shaienn @ Feb 3 2010, 09:44) Хочу ...   Feb 3 2010, 16:13
||- - Shaienn   Цитата(des00 @ Feb 3 2010, 19:13) так цик...   Feb 3 2010, 16:26
||- - des00   Цитата(Shaienn @ Feb 3 2010, 10:26) цикли...   Feb 3 2010, 17:29
||- - Shaienn   Цитата(des00 @ Feb 3 2010, 20:29) тогда и...   Feb 3 2010, 23:15
||- - des00   Цитата(Shaienn @ Feb 3 2010, 17:15) Так в...   Feb 4 2010, 03:49
|- - Dima_G   << - битовый сдвиг <<< - арифметиче...   Feb 4 2010, 03:49
- - Shaienn   Учу-учу матчасть Оказывается арифметический и ци...   Feb 4 2010, 04:04
|- - des00   Цитата(Shaienn @ Feb 3 2010, 22:04) Оказы...   Feb 4 2010, 04:10
|- - Shaienn   Цитата(des00 @ Feb 4 2010, 08:10) вроде о...   Feb 4 2010, 04:32
|- - des00   Цитата(Shaienn @ Feb 3 2010, 22:27) Должн...   Feb 4 2010, 04:33
- - Dima_G   Хм, а Вы к Quartus отлаживате? Тогда делайте иници...   Feb 4 2010, 04:37
- - Shaienn   Снова добрый день. Спаял я макетную плату для epm...   Feb 10 2010, 07:21
- - sazh   Цитата(Shaienn @ Feb 10 2010, 10:21) Снов...   Feb 10 2010, 07:36
- - Shaienn   Цитата(sazh @ Feb 10 2010, 11:36) В Кварт...   Feb 10 2010, 07:45


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

 


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


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