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

 
 
 
Reply to this topicStart new topic
> VHDL описание сумматора с Carry_in, с возможностью моделирования
Very_hard
сообщение Feb 15 2007, 12:26
Сообщение #1


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

Группа: Свой
Сообщений: 183
Регистрация: 10-02-06
Из: Киев, Украина
Пользователь №: 14 188



Нужно описать сумматор с переносом старшего разряда результата в carry in. Комбинационный.
Проблема такая: описание сумматора выглядит следующим образом:

Код
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

.........

signal sum: std_logic_vector(0 to 16):=(others=>'0');
signal A, B: std_logic_vector(0 to 15):=(others=>'0');

........

sum <= (('0' & A) + ('0' & B)) + sum(0);


Это понимается синтезатором(ISE7.1), находится и синтезируется соответствующий "adder carry in". Но при behavioral моделировании состояние выхода всегда неопределенно, что вобщем-то понятно. Как это можно обойти?
Go to the top of the page
 
+Quote Post
ALeksey_ZX
сообщение Feb 18 2007, 00:12
Сообщение #2





Группа: Новичок
Сообщений: 7
Регистрация: 8-11-06
Пользователь №: 22 098



Попробуйте почитать XST.pdf и написать так:


library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity adders_4 is
port(

A,B : in std_logic_vector(15 downto 0);
CI : in std_logic;
SUM : out std_logic_vector(15 downto 0);
CO : out std_logic);
end adders_4;

architecture archi of adders_4 is
signal tmp: std_logic_vector(16 downto 0);
begin

tmp <= conv_std_logic_vector((conv_integer(A) + conv_integer( B ) + conv_integer(CI)),17);
SUM <= tmp(15 downto 0);
CO <= tmp(16);

end archi;


Может поможет smile.gif
Go to the top of the page
 
+Quote Post
Very_hard
сообщение Feb 19 2007, 11:16
Сообщение #3


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

Группа: Свой
Сообщений: 183
Регистрация: 10-02-06
Из: Киев, Украина
Пользователь №: 14 188



Большое спасибо! smile.gif Действительно помогло.
Go to the top of the page
 
+Quote Post

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

 


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


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