Једноставна Уз низ у Верилог

S

samviva72

Guest
Ово је мој први пост и ја сам о томе да питам врло врло основно питање. Никад нисам дотакао Верилог пре ни било који други ХДЛс, али знам Ц, Ц + + итд могу неко Молим Вас, дајте ми еквивалент од следећих Ц код у Верилог (ако тако нешто постоји)? Желим да будем у стању дефинисати и попуњавање низа унутар себе Верилог модула, а то је само за симулацију сврхе. Ја бих био веома захвалан ако неко може да ми дају код, онда ћу користити као основа за почетак сазнате више о Верилог. [ЦОДЕ] воид маин () {инт арраи_1 [] = {1, 2, 3, 4} инт арраи_2 [] = {5, 5, 5, 5}; инт инт ц_сум = 0; за (И = 0; сам
 
[ЦОДЕ] `временске рокове 1нс / 1пс ////////////////////////////////////////// //////////////////////////////////////// / / Фирма: / / инжењер: / / / / Креирај Датум: 10:31:23 04/20/2011 / Дизајн Име: / / Модуле Наме: арраиз / / Назив пројекта: / / циљне уређаје: / / Алат верзије: / / Опис: / / / / Зависности : / / / / Ревизија: / / Ревизија 0,01 - Слика Креирано / / Додатни коментар: / / ///////////////////////////// ////////////////////////////////////////////////// / / / модула низа (ЦЛК, сума, Ресет), улаз ЦЛК, ресетовање, улаз [7:0] динара, излазни рег [7:0] сума; рег [7:0] мему1 [3:0], рег [ 7:0] мему2 [3:0], цео сам, увек @ (поседге КЗК) бегин иф (Ресет == 1'б1) почети мему1 [0]
 
Иако није проблем да га користи за симулацију, нећу предложити петље понављање (слично као Ц код) за дизајн, јер би то спречило синтезу разумне хардвера у већини случајева. Најтежа ствар, када учење ниво ХДЛ са позадином софтверски програмер је да се схвати да итерација петље не описују секвенцијалне радње у времену и мора да се избегне у многим ситуацијама.
 
Хвала за блооз узорак кода. Управо сам докопао копије Палниткар и ја сам сада почињу моје процес учења. Још два брза упита за вас: - Шта Верилог преводилац / симулатор Да ли предложити да користите? Палниткар Књига долази са један на пратећим ЦД-у. Да ли је то добро? - У том примеру кода сте дали, "ако (и
 
[Куоте = ФВМ; 886659] Иако није проблем да га користи за симулацију, нећу предложити петље понављање (слично као Ц код) за дизајн, јер би то спречило синтезу разумне хардвера у већини случајева. Најтежа ствар, када учење ниво ХДЛ са позадином софтверски програмер је да се схвати да итерација петље не описују секвенцијалне радње у времену и мора да се избегне у многим ситуацијама [/ куоте] Као ФВМ. Нагласио бољи хардвер би се синтетишу, ако код без итерација .. Изнад кода у Ц стилу Могао би бити модификоване да би га погодним за синтезу хардвера у стилу. у једном кораку можете да пишете. збир = (((мему1 [0] * мему2 [0]) + (мему1 [1] * мему2 [1 ]))+(( мему1 [2] * мему2 [2]) + (мему1 [3] * мему2 [ 3 ]))); јер паралелно природа хардвера морају се узети у обзир [цолор = "сребро".] [сизе = 1 ]---------- Пост додат у 14:56 --- ------- Претходни пост је био у 14:31 ----------[/ сизе] [/ цолор] [куоте = самвива72; 886666] Хвала за блооз узорак кода. Управо сам докопао копије Палниткар и ја сам сада почињу моје процес учења. Још два брза упита за вас: - Шта Верилог преводилац / симулатор Да ли предложити да користите? Палниткар Књига долази са један на пратећим ЦД-у. Да ли је то добро? - У том примеру кода сте дали, "ако (и
 
[Куоте = блооз; 886690] Као што је истакао ФВМ бољи хардвер би се синтетишу, ако код је без понављања .. Изнад кода у Ц стилу Могао би бити модификоване да би га погодним за синтезу хардвера у стилу. у једном кораку можете да пишете. збир = (((мему1 [0] * мему2 [0]) + (мему1 [1] * мему2 [1 ]))+(( мему1 [2] * мему2 [2]) + (мему1 [3] * мему2 [ 3 ]))); јер паралелно природа хардвера морају се узети у обзир [/ куоте] У реду, ја разумем сада паралелне природе.. Али да ли је ту граница да је "паралелизам"? - Претпоставимо да сам имао два низа од 2000 сваке вредности. Хоће да се обрачуна зависе од величине елемената ФПГА? - Претпоставимо да желим да урадим још један рачунање суме рег после "збир производа 'Операција је завршена. Ако израчунавања дешава у паралелном, како да знам тачну вредност суме иде у следећи ред да се помножи са 50 у следећи код? Да ли морам да покрене другу почети крај између те две линије? [ЦОДЕ] = сума (((мему1 [0] * мему2 [0]) + (мему1 [1] * мему2 [1 ]))+(( мему1 [2] * мему2 [2]) + (мему1 [3] * мему2 [3 ]))); анотхер_вал = сума * 50; [/ цоде Хвала] за Верилог симулатора линкове. Ви сте звезда!
 
[Куоте = самвива72; 886704] У реду, ја разумем сада паралелне природе. Али да ли је ту граница да је "паралелизам"? - Претпоставимо да сам имао два низа од 2000 сваке вредности. Хоће да се обрачуна зависе од величине елемената ФПГА? - Претпоставимо да желим да урадим још један рачунање суме рег после "збир производа 'Операција је завршена. Ако израчунавања дешава у паралелном, како да знам тачну вредност суме иде у следећи ред да се помножи са 50 у следећи код? Да ли морам да покрене другу почети крај између те две линије? [ЦОДЕ] = сума (((мему1 [0] * мему2 [0]) + (мему1 [1] * мему2 [1 ]))+(( мему1 [2] * мему2 [2]) + (мему1 [3] * мему2 [3 ]))); анотхер_вал = сума * 50;. [/ цоде] [/ куоте] 1 одговор на Ваше прво питање је-ФПГА Ресурс је фактор који морате да цонсидер.Ларгер броја елемената још меморије ресурси се конзумира. 2.Иф вам код нешто овако да је, увек @ (поседге од КЗК) почели статемент1, статемент2 енд Изјаве између почети да извршава секвенцијално изјаву једног онда изјава два. тако да нема потребе за другом почети крај.
 

Welcome to EDABoard.com

Sponsor

Back
Top