 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
trot Član


Pridružen-a: Čet 18 Jan 2007 20:25 Prispevkov: 1282 Aktiv.: 5.72 Kraj: glej fogl
|
Objavljeno: Čet Mar 06, 2008 9:01 pm Naslov sporočila: vhdl - množenje, deljenje |
|
|
Kako se v vhdl-ju uporablja množenje in deljenje (ima kdo kak primerček)? Tole mi javi napako "/ can not have such operands in this context". Kaj je narobe. Moram vključit še kakšno knjižnico?
ibrary IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
signal counts : std_logic_vector (7 downto 0);
counts <= counts/10; |
|
Nazaj na vrh |
|
 |
PeterC Član

Pridružen-a: Tor 14 Dec 2004 20:22 Prispevkov: 204 Aktiv.: 0.86
|
Objavljeno: Čet Mar 06, 2008 9:09 pm Naslov sporočila: |
|
|
Pri VHDL-u moraš razmišljati binarno.
Deljenje je premik registra v desno. _________________ Time is like a fuse, short and burning fast |
|
Nazaj na vrh |
|
 |
dragoon Član


Pridružen-a: Čet 03 Maj 2007 21:51 Prispevkov: 452 Aktiv.: 2.05 Kraj: Trojane
|
Objavljeno: Čet Mar 06, 2008 9:09 pm Naslov sporočila: |
|
|
Kolikor vem delit ne zna. Moraš sam narest. Zna pa množit in seštevat odštevat. _________________ LP, Mitja |
|
Nazaj na vrh |
|
 |
chaos Član


Pridružen-a: Sob 16 Sep 2006 22:12 Prispevkov: 1063 Aktiv.: 4.66 Kraj: Zagorje ob Savi
|
Objavljeno: Čet Mar 06, 2008 9:27 pm Naslov sporočila: |
|
|
Odvisno kater čip uporabljaš. Nekateri imajo že vgrajene multiplier-je, vsaj nekaj enot. Pri drugih ga moraš napisat. V CPLD množilnika ne boš spravil, vsaj 32-bitnega ne. Delilnike mislim da nima nobeden ... za 'soft' implemenatcijo išči npr. radix-2.
LP! |
|
Nazaj na vrh |
|
 |
trot Član


Pridružen-a: Čet 18 Jan 2007 20:25 Prispevkov: 1282 Aktiv.: 5.72 Kraj: glej fogl
|
Objavljeno: Tor Mar 11, 2008 11:16 pm Naslov sporočila: |
|
|
Zakaj pa v ise v #language Templates" (rumena lučka) piše:
Koda: |
--The following are the arithmetic operators as defined by the VHDL language.
+ ---- Addition
- ---- Subtraction
* ---- Multiplication
/ ---- Divide
mod ---- Modulus
** ---- Power Operator (i.e. 2**8 returns 256)
|
Izgleda, da vhdl nekaj že ima? |
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.71 Kraj: Kranj - struževo
|
Objavljeno: Sre Mar 12, 2008 8:18 am Naslov sporočila: |
|
|
Sintaksa te yebe
counts <= counts/10;
>10< ni std_logic_vector. vrednost 10 moraš zapisat z "00001010", pa bo šlo. _________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Sre Mar 12, 2008 9:50 am Naslov sporočila: |
|
|
trot je napisal/a: |
Zakaj pa v ise v #language Templates" (rumena lučka) piše:
Koda: |
--The following are the arithmetic operators as defined by the VHDL language.
+ ---- Addition
...
** ---- Power Operator (i.e. 2**8 returns 256)
|
Izgleda, da vhdl nekaj že ima? |
Preberi si raje dokumentacijo (pdf). Precej bolje razloži aritmetiko, kot pa language templates. Če bi prebral, ti ne bi bilo potrebno spraševati in čakati na odgovor.
Jur |
|
Nazaj na vrh |
|
 |
Glitch Član

Pridružen-a: Pet 07 Apr 2006 11:40 Prispevkov: 1477 Aktiv.: 6.32
|
Objavljeno: Sre Mar 12, 2008 12:26 pm Naslov sporočila: |
|
|
Najprej se mora človek vprašati ali bo taka operacija sploh izvedljiva v končnem vezju. V CPLD tlačit deljenje in množenje (vsaj na tak, višje abstrakten način) nekako ne "potegne". |
|
Nazaj na vrh |
|
 |
trot Član


Pridružen-a: Čet 18 Jan 2007 20:25 Prispevkov: 1282 Aktiv.: 5.72 Kraj: glej fogl
|
Objavljeno: Sre Mar 12, 2008 1:34 pm Naslov sporočila: |
|
|
jur je napisal/a: |
Preberi si raje dokumentacijo (pdf). Precej bolje razloži aritmetiko, kot pa language templates. |
Katero dokumentacijo to misliš?
Glitch je napisal/a: |
Najprej se mora človek vprašati ali bo taka operacija sploh izvedljiva v končnem vezju. V CPLD tlačit deljenje in množenje (vsaj na tak, višje abstrakten način) nekako ne "potegne". |
Zakaj pa ne bi bila izvedljiva, misliš, če nima že vgrajene neke aritmetične enote? Kam pa lahko potem tlačim deljenje in množenje, v FPGA? Saj bi uporabil za začetek aritmetiko s fiksno vejico. |
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.71 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Sre Mar 12, 2008 1:42 pm Naslov sporočila: |
|
|
Priročnike (navodila za uporabo), za VHDL. Omenjena je aritmetika in kako deluje.
Jur |
|
Nazaj na vrh |
|
 |
Glitch Član

Pridružen-a: Pet 07 Apr 2006 11:40 Prispevkov: 1477 Aktiv.: 6.32
|
Objavljeno: Sre Mar 12, 2008 2:22 pm Naslov sporočila: |
|
|
Zato, ker je potrebno množilnik ali delilnik najprej narediti. HW množilnik imajo samo FPGAji in še to ne vsi. Obstaja n različnih izvedb za množilnik, vsaka izveba zahteva n seštevalnikov in (ni nujno) m flip-flopov. Za delilnik je pa še huje. Lahko se zgodi, da ti bo "synthesizer" sprejel deljenje ali množenje, na koncu ti bo pa pojedel 90% CLBjev.
Mogoče sem preveč posplošil zadevo, ker ne vem točno kaj bi rad delil in množil ampak vsaj ti dve operaciji ne smeš vzeti za nekaj samoumevnega.
Aja, behavioral simulacija požre praktično vse! Post-synthesis simulacija je prvi pravi pokazatelj kaj lahko in kaj ne, ker se na lahko na nivoju generičnih elementov pokaže tudi izvedba. |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|