[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SAZH 26 мая 2006 г. 16:17
В ответ на: Ответ(+) отправлено <font color=gray>plus</font> 26 мая 2006 г. 14:40

То, что 11 разряд всегда будет в нуле, синтезатор предупреждает. И это видно в Technology map просмотрщике. Это к вопросу о чувствитедьности к разрядности. Вы не сказали какой кристалл. Потому что на циклонах все умещается в 60 нс без всяких ухищрений и скобочек.
Даже на 10к с 4 градации скорости (квартус выбрасывает carry sum) получается 50 нс. А в max+ вобще 30 нс при установках auto.
Требовать от квартуса нормальной работы со старыми кристаллами, наверно чересчур.

module block_name
(
// {{ALTERA_ARGS_BEGIN}} DO NOT REMOVE THIS LINE!
clk, d1, d2, d3, d4, d5, d6, out
// {{ALTERA_ARGS_END}} DO NOT REMOVE THIS LINE!
);
// Port Declaration

// {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE!
input clk;
input [7:0] d1;
input [7:0] d2;
input [7:0] d3;
input [7:0] d4;
input [7:0] d5;
input [7:0] d6;
output [10:0] out;
// {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE!
reg [10:0] out;
wire [8:0] d1_d2;
wire [8:0] d3_d4;
wire [8:0] d5_d6;
wire [9:0] sum_a;

assign d1_d2 = d1+d2;
assign d3_d4 = d3+d4;
assign d5_d6 = d5+d6;
assign sum_a = d1_d2 + d3_d4;

always @(posedge clk)
begin
out <= sum_a + d5_d6;
end

endmodule


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru