Razdjelnik za sintezu

E

Edward_2288

Guest
bok,
Ja sastati problem u synthesising šestar na vrata razinu.za simulacije, to može biti jednostavno učiniti pomoću "/" simbol.Međutim tijekom sinteze, pogreška.

dobro, bilo tko znati kako to sinteze podjeli, recimo za 3, 5, 7, itd., molim da me savjetovati.

thx

 
DC ne može sintetizirati šestar, morate napisati vlastiti implemenations.naći neki 'računalo arithmatic knjiga na ovu temu.

 
bilo tko ima e-book ili papir?zapravo, koliko su putevi graditi šestar?

 
Koje su vaše zahtjeve (brzina, područje, latencija)?
Čista kombinatorne, ili-znamenkasti serijski šestar?

 
Bok,

Sljedeći kombinatorni šestar kôd je napisao po meni kad sam bio preddiplomski i Internet bi trebao biti synthesisble.U stvari koncept za-znamenkasti serijski šestar je ista iznimka, da je "temp_remainder" se ocjenjuje u svakom clock cycle.

Još jedan veći korijen podjela zahtijeva pregledna tablica prve i možete pronaći teorija u većini knjiga računalu arithematics, uživajte!/**************************************/
modul šestar (kvocijent, ostatak, dividenda, šestar);

izlaz [15:0] kvocijent, ostatak;
input [15:0] dividenda, šestar;

reg [15:0] kvocijent, ostatak;
reg [31:0] scaled_divider, temp_remainder, temp_result;
integer i;Uvijek @ (dividende ili šestar) begin
scaled_divider = (1'b0, šestar, 15'h0000);
temp_remainder = (16'h0000, dividenda);

for (i = 0; i <16; i = i 1) počinju
temp_result = temp_remainder - scaled_divider;

if (temp_result [31 - i]) početi / / negativan rezultat, Quotient postavljen na '0 '
kvocijent [15 - i] = 1'b0;
kraj
else begin / / pozitivan rezultat, Quotient postavljen na '1 '
kvocijent [15 - i] = 1'b1;
temp_remainder = temp_result;
kraj

scaled_divider = scaled_divider>> 1;
kraj

ostatak = temp_remainder [15:0];
kraj

endmodule
/**************************************/

 
Bok

za zbirku HDL kodove za

Sklop za zbrajanje / množitelj / razdjelnike i više pogledajte na:

provjeriti svaki od njih s HDL-lint alatima za synthesizabiliy previše.

1.h ** p: / / ntu.csie.org / ~ b88047/p1 /
2.h ** p: / / ntu.csie.org / ~ b88047/p2 /

* -> T

tnx

 
bilo koji link za verilog?

btw, kakva je razlika između čiste i kombinatorne-znamenkasti serijski šestar?to je broj ciklusa potrebno da se obavi odjel?thx

 
Edward_2288 wrote:

bilo tko ima e-book ili papir?
zapravo, koliko su putevi graditi šestar?
 
kctang wrote:

Bok,Sljedeći kombinatorni šestar kôd je napisao po meni kad sam bio preddiplomski i Internet bi trebao biti synthesisble.
U stvari koncept za-znamenkasti serijski šestar je ista iznimka, da je "temp_remainder" se ocjenjuje u svakom clock cycle.Još jedan veći korijen podjela zahtijeva pregledna tablica prve i možete pronaći teorija u većini knjiga računalu arithematics, uživajte!/**************************************/

modul šestar (kvocijent, ostatak, dividenda, šestar);izlaz [15:0] kvocijent, ostatak;

input [15:0] dividenda, šestar;reg [15:0] kvocijent, ostatak;

reg [31:0] scaled_divider, temp_remainder, temp_result;

integer i;Uvijek @ (dividende ili šestar) begin

scaled_divider = (1'b0, šestar, 15'h0000);

temp_remainder = (16'h0000, dividenda);for (i = 0; i <16; i = i 1) počinju

temp_result = temp_remainder - scaled_divider;if (temp_result [31 - i]) početi / / negativan rezultat, Quotient postavljen na '0 '

kvocijent [15 - i] = 1'b0;

kraj

else begin / / pozitivan rezultat, Quotient postavljen na '1 '

kvocijent [15 - i] = 1'b1;

temp_remainder = temp_result;

krajscaled_divider = scaled_divider>> 1;

krajostatak = temp_remainder [15:0];

krajendmodule

/**************************************/
 
Ovo je 16bit po 16bit, nepotpisani combinatinoal šestar bez brojila.To bi trebao imati 16 subtractors raznih širina (maks. 32).

 
pa to znači da u jednom ciklusu CLK, dobiti ćemo rezultat podjele.am ja obred?

 
Tko zna gdje mogu dobiti synthesizable Verilog koda za digitalni filtar?

 
Yeap, ona dobiva rezultat u jednom ciklusu.Ali, to je sporo zbog kaskadna subtractors.

 
Možda možete koristiti DW šestar u DC tijekom provedbe ili ASIC Coregen ili MegaFunction u FPGA.
To nije dobar način da vam pisati sve što se treba.

 
imam je dobio kvocijent i ostatak ali trebam ih kombinirati da biste dobili plutajući broj

Ima li bilo koji dobar algoritam

 
kinjal_book wrote:

imam je dobio kvocijent i ostatak ali trebam ih kombinirati da biste dobili plutajući brojIma li bilo koji dobar algoritam
 

Welcome to EDABoard.com

Sponsor

Back
Top