J0hnNick 0 22 декабря, 2007 Опубликовано 22 декабря, 2007 · Жалоба помогите пожалуйста! срочно надо решить вопрос! создаю сумматор и вычитатель с помощью визарда из LPM_ADD_SUB. Числа знаковые. в хелпе написано что по-умолчанию работает с ними. На всякий случай прописал LPM_REPRESENTATION => "SIGNED" В результате такая чушь: a=1; b=-1; a+b =-2, a-b=-127. в чем может быть причина? заранее спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CaPpuCcino 0 23 декабря, 2007 Опубликовано 23 декабря, 2007 · Жалоба попробуйте поигратьс разрядностью. хрен знает по какой схеме они склюдывают(может быть с расширенным знаковым разрядом). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 23 декабря, 2007 Опубликовано 23 декабря, 2007 · Жалоба помогите пожалуйста! срочно надо решить вопрос! создаю сумматор и вычитатель с помощью визарда из LPM_ADD_SUB. Числа знаковые. в хелпе написано что по-умолчанию работает с ними. На всякий случай прописал LPM_REPRESENTATION => "SIGNED" В результате такая чушь: a=1; b=-1; a+b =-2, a-b=-127. в чем может быть причина? заранее спасибо! Причина только одна. Правильно задавать входные воздействия в симуляторе. (входные и выходные вектора в виде signed) Так как эта мегафункция работает только с одинаковыми разрядностями по входам и выходам, ей все равно какой признак Вы ставите (signed, unsigned) Этот параметр влияет только на формирование сигнала в данном случае переполнения. Если нет желания анализировать разряд переполнения, размножьте входные вектора на один разряд, чтобы получить разрядность на выходе +1. (размножаются старшие разряды входного вектора для работы со знаковыми числами signed) Тогда отпадает надобность в разряде переполнения и результат не будет зависть от параметра signed, unsigned (сумматор оперирует кодами) Ему все равно в каком виде Вы хотите увидеть этот код в симуляторе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться