[an error occurred while processing this directive]
Мне надо A[7:0] = {{4{B[3]}},B[3:0]} + {{6{1'b0}},C[1:0]} ,
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

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

Отправлено Vova75 12 мая 2005 г. 01:42
В ответ на: A = $signed(B) + $unsigned(C) естественно отправлено <font color=gray>des00</font> 11 мая 2005 г. 08:17

Пишем:
...
reg signed [7:0] A;
wire signed [3:0] B;
wire [1:0] C;
always @*
begin
A = B+C;
end
...

Synplify 7.7.1 и ниже , делает то что мне надо.
Synplify 8.0 делает: A[7:0] = {{4{1'b0}},B[3:0]} + {{6{1'b0}},C[1:0]}.

Чтобы заставить его сделать что мне надо я пишу:
...
reg signed [7:0] A;
wire signed [3:0] B;
wire [1:0] C;
always @*
begin
A = B;
A = A+C;
end
...
Почему-то эи две эквивалентные записи в версии 8.0 компилируются по разному :(


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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 

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

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

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


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru