|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 5:20 am
Проблем с натрупващ суматор
| Автор |
Съобщение |
|
medeamona
Ранг: Новодошъл
Регистриран на: Нед Сеп 23, 2007 7:30 pm Мнения: 118
|
 Проблем с натрупващ суматор
Налага ми се да проектирам на Verilog (HDL език) натрупващ суматор. Обаче нещо симулацията не е това което трябва да е. Т.е не сумира така както искам аз. Може ли едно рамо? Прилагам и кода.
|
| Пон Сеп 24, 2007 9:08 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
ти под натрупващ суматор разбираш блок суматор + блок акумулатор ли  обединени с обща входноизходна шина данни и управляващи сигнали 
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Вто Сеп 25, 2007 11:57 am |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
пусни малко инфо за идеята ти....
какво ти е заданието
щото сорса ти е малко ... забърбалучкан 
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Вто Сеп 25, 2007 12:38 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
знaчи квото съм разбрал от сорса ти ,требе да е нещо такова, само че съм го драснал на VHDL щото ми е по лесно
и симулатора симулира и битовете циркулират
първият принт от моделсима е с константна величина на входа, вторият е с две значения на входа (променя на по някое време  след старта ) за по-добра визия
а пък твоят проблем :
"Обаче нещо симулацията не е това което трябва да е. Т.е не сумира така както искам аз. "
го има навсякъде -> програмата прави това дето си написал, а не това дето ти се иска да стане
ако не е така кажи как ти иска да сумира  може да го удурдисаме
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Вто Сеп 25, 2007 1:46 pm |
|
 |
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 9:39 pm Мнения: 2277
|
Ако съм разбрал правилно човека иска да направи сумиране с натрупване, т.е. ако Yn e 0xff като добави 1 да остане пак същото а не 0.
|
| Вто Сеп 25, 2007 2:40 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
айде да ми обясните "сумиране с натрупване" явно не вдявам... ама нали е Академия
единственото за което се сещам е интегриране
и какво е поведението на една такава система?
иде реч това Yn когато достигне 0xff после?
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Вто Сеп 25, 2007 3:09 pm |
|
 |
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 9:39 pm Мнения: 2277
|
После остава същото, докато не се нулира. Използва се при обработка на цветове например. Не е много приятно ако цвета от чер стане бял или обратно. Дали точно това е идеята колегата трябва да каже.
|
| Вто Сеп 25, 2007 3:52 pm |
|
 |
|
MYXATA
Ранг: Форумен бог
Регистриран на: Пон Юни 05, 2006 1:48 pm Мнения: 4906 Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
|
е то и при радарите има тъквиз рабути
а що не си го е написал като условие....
мдаа то отдавна се говори, че требе да има ред при въпросването из форума... щото иначе абе тука проблемче, сорсче, ама веднага, ама туймитионуймити...
нема значение като гледам на колегата му е през "спицата" вече проблема
_________________ ... ако трети ден не ти се работи... това означава, че е сряда !
|
| Вто Сеп 25, 2007 4:04 pm |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
на английски термина е "saturation". в почти всички dsp-та може да се контролира при събиране и натрупване, дали да има или да я няма.
|
| Вто Сеп 25, 2007 8:47 pm |
|
 |
|
medeamona
Ранг: Новодошъл
Регистриран на: Нед Сеп 23, 2007 7:30 pm Мнения: 118
|
 идеята е следната:
На входа на суматора има поток данни, на всеки такт искам да се сумира текущите битове с резултата от предното сумиране. Резултата се записва в регистър и при следващия такт нови данни+резултата от рег-а.
А после взимам старшите 6 бита.
Цялата задача е deframer. В случая изчисление на crc.
пс. не съм колега, а колежка. и определено ми е през...
|
| Сря Сеп 26, 2007 7:57 am |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
Тестов модул:
P.S. жената-инженерка == морско свинче
|
| Сря Сеп 26, 2007 11:57 am |
|
 |
|
medeamona
Ранг: Новодошъл
Регистриран на: Нед Сеп 23, 2007 7:30 pm Мнения: 118
|
 не знам за...
не знам за морското свинче, но WI = 32, не ми е ясно...
гледах, мяса на Verilog, но такъв запис на присвояване не бях виждала... ( доколкото знам се указва броят битове, вида на записа - двоичен, десетичен и т.н. и накрая ст-ста в указаната вече бройна с-ма)
Разясни малко моля!!!
и къде дефинираш параметри в модула (там все си мисля бе мястото за входове и изходи, упоменаването им).
_________________Айде сега и на инженери ли ще се правим? 
|
| Сря Сеп 26, 2007 1:16 pm |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
Verilog-2001 е, само че за твое удобство беше с параметри да си го ползваш както прецениш. Но .... ето ти по-проста версия без параметри, фиксирана на 32-битов вход и 32-битов акумулатор:
Ако загледаш тестовия модул ще си отговориш на повечето въпроси - как се ползва модулът, как му се прикачат сигнали и как му се предават параметри така че да не са "default" стойностите.
От любопитство, това домашно някакво в университет ли е?
EDIT: Като елементарна задачка, опитай се да му добавиш "enable" вход, за да не натрупва на всеки тактов импулс.
|
| Сря Сеп 26, 2007 1:42 pm |
|
 |
|
VSU
Ранг: Напреднал
Регистриран на: Нед Авг 14, 2005 1:08 pm Мнения: 433 Местоположение: Казанлък
|
module add_acc (
input clk,
input reset,
input enable,
input [31:0] in,
output reg [31:0] out
);
always @(posedge clk)
if (reset) out <= 0;
else
if (enable) out <= out + in;
endmodule
така става ли  за пръв път пипам такова нещо
|
| Сря Сеп 26, 2007 2:26 pm |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
Мда, това е решението което ще се синтезира правилно.
|
| Сря Сеп 26, 2007 2:32 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 9 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|