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

 
 
 
Reply to this topicStart new topic
> Регистровый сумматор в acex1k, Глючит квартус или acex не может?
LordVader
сообщение Mar 2 2007, 20:55
Сообщение #1


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

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



Вот пишу простейший код:
Код
module adder(
    clock,
    in1,
    in2,
    out
);


    input clock;
    
    input [7:0] in1;
    input [7:0] in2;
    
    output [7:0] out;
    reg    [7:0] out;

    always @(posedge clock)
    begin
        out <= in1 + in2;
    end

endmodule


синтезю, и что же? 16 LE! При этом 8 LE - сам сумматор, а ещё 8 - регистры на его выходах.

Странно, вроде бы, судя по даташиту, в одной LE должны сочетаться arithmetic mode и триггер на выходе...

Попробовал играться семействами (чисто из интереса, нужно-то для acex'а всё равно): для некоторых так и остаётся 16 LE, для других (например, stratix и cyclone) - получается 8.

В чём тут "собака порылась"?

PS: квартус - 6.0 web edition

Сообщение отредактировал LordVader - Mar 2 2007, 21:00
Go to the top of the page
 
+Quote Post
Dj_Atmex
сообщение Mar 3 2007, 10:14
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 7-08-05
Пользователь №: 7 421



У вас оптимизация включена? Попробуйте оптимизировать по площади.
Go to the top of the page
 
+Quote Post
AlexanderX
сообщение Mar 3 2007, 11:25
Сообщение #3


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

Группа: Свой
Сообщений: 107
Регистрация: 21-07-05
Из: Киев
Пользователь №: 6 977



По умолчанию Квартус раскладывает асинхронную логику в одни ячейки, а регистры в другие. Для того чтобы этого не происходило ему нужно помочь. А именно: Assigments\Settings\Fitter Settings\More Settings\Auto Packed Registers -> On. wink.gif
Go to the top of the page
 
+Quote Post
LordVader
сообщение Mar 3 2007, 14:18
Сообщение #4


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

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



Цитата(Dj_Atmex @ Mar 3 2007, 10:14) *
У вас оптимизация включена? Попробуйте оптимизировать по площади.

Ну это первое, куда я ткнулся. Было включено 'Area'.

Цитата(AlexanderX @ Mar 3 2007, 11:25) *
По умолчанию Квартус раскладывает асинхронную логику в одни ячейки, а регистры в другие. Для того чтобы этого не происходило ему нужно помочь. А именно: Assigments\Settings\Fitter Settings\More Settings\Auto Packed Registers -> On. wink.gif


Не помогло.

Один очень шарящий чел не пожалел своего времени и разобрался. Говорит, что данную опцию фиттер в квартусе молча игнорирует. А чтобы всё-таки не 16 LE было, он поправил библиотечный файлик lpm_add_sub.tdf в недрах квартуса, заменив USE_CS_BUFFERS = 1 на 0.
Стало не 8, а 9, всё-таки, младший разряд отдельным LE генерится, а перенос с него - другим.

Интересно, чем альтеровцы думали, когда такое ваяли? maniac.gif
Go to the top of the page
 
+Quote Post
sazh
сообщение Mar 3 2007, 14:45
Сообщение #5


Гуру
******

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



А зачем Квартусу семейство ACEX. Если это семейство нормально полддерживает MAX+
И в MAX+ получается 9LC при output [7:0] out; reg [7:0] out;
Может в 10 Квартусе и дойдут руки до семейства ACEX. В качестве бонуса для Вас.

Ошибочка вышла. Так правильно будет.
При output [8:0] out; reg [8:0] out;
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Mar 5 2007, 17:19
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата
Интересно, чем альтеровцы думали, когда такое ваяли?

Как вероятность только - желанием пересадить Вас с ACEX на Stratix, Cyclone и MAXII :-)
Хотя, по моим наблюдениям, для семейства MAX7000S, Квартус оптимизирует лучше, чем МАХ+. В смысле - расход LE меньше при равных настройках.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
vitan
сообщение Mar 5 2007, 21:19
Сообщение #7


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Цитата(Евгений Николаев @ Mar 5 2007, 17:19) *
[Хотя, по моим наблюдениям, для семейства MAX7000S, Квартус оптимизирует лучше, чем МАХ+.

Зато для MAX7000S по моим наблюдениям он хуже синтезирует. Были ошибки в автоматах, битики не так как надо генерились, в отличие от Synplify и LeonardoSpectrum... Я лично не очень доволен работой квартуса с семйством 7000S... Плюс в хелпе есть глюки, связанные с этим семейством. Видимо, совсем они их не хотят поддерживать. sad.gif
Go to the top of the page
 
+Quote Post

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

 


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


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