Kysymys:
Kuinka minun pitäisi ymmärtää FPGA-arkkitehtuuri?
Carl
2019-10-08 23:26:17 UTC
view on stackexchange narkive permalink

Minulle on annettu tehtävä tehdä 2-bittinen summain ohjelmoimalla FPGA.FPGA näkyy alla:

En kuitenkaan edes tiedä miten aloittaa tämä tehtävä, koska en ymmärrä mitä katson.

Mitä kaikkien vihreiden viivojen pitäisi tehdä, ja entä ne vihreät ja punaiset muodot?

Toivon, että joku voi selventää tämän minulle, koska haluan todella ymmärtää sen.

enter image description here

PS: En tiedä onko se välttämätöntä ymmärtääksesi mitä tapahtuu, mutta tämä luku sisältyi myös tehtävälomakkeeseen:

enter image description here

Tervetuloa EE.SE: lle!Tämä näyttää olevan kotitehtävä.Sinänsä sinun on näytettävä meille tähän mennessä tekemäsi työ ja selitettävä, minkä osan kysymyksestä sinulla on vaikeuksia.Tulevaa tarvetta varten: Kotitehtäväkysymykset EE.SE: stä nauttivat / kärsivät erityiskohtelusta.Emme tarjoa täydellisiä vastauksia, annamme vain vihjeitä tai sokraattisia kysymyksiä ja vain, kun olet osoittanut riittävän oman ponnistuksesi.Muuten tekisimme sinulle karhunpalveluksen ja saisimme kotitehtäviin liittyvät kysymykset samaan aikaan.Katso myös [täältä] (http://meta.electronics.stackexchange.com/a/5120/7036).
@DaveTweed Vaikka tämä on kotitehtävä, se ei ole tyypillinen kotitehtävä.Mielestäni se on täysin hieno sellaisenaan.
Kyllä, mutta OP pyytää tietoja, jotka olisi pitänyt antaa jo kurssin yhteydessä.Meidän ei pitäisi tarvita selittää sitä uudestaan.
Yleensä ohjelmoit FPGA: n käyttämällä HDL: ää (esim.Verilog) ja valmistajan työkaluketjua, eikä sinun tarvitse koskaan katsoa mitään sellaista, mitä olet lähettänyt,
@DaveTweed sovittu.Tässä on vain kaksi mahdollisuutta: joko OP: lle ei ole kerrottu näitä tietoja, jolloin hänen opettajansa / kurssi on viallinen;tai hän ei ole absorboinut näitä tietoja, jolloin potentiaalisesti joko hän tai hänen opettajansa / kurssinsa voisi olla vika.Molemmissa tapauksissa "riittävän vaivannäön" tulisi olla palata opettajan luo tai lukea kurssimateriaali uudelleen.
@OrangeDog Toki, mutta on kätevää nähdä se ainakin kerran elämässäsi.FPGA: n LUT-perusarkkitehtuuri ei ole muuttunut yli vuosikymmenen ajan, ja sen nähtyään on helpompi ymmärtää, miksi esimerkiksi enemmän putkivaiheita laskentapolulla ei yleensä vaadi enemmän resursseja.
Suoraan sanottuna pidän tätä mieluummin kotitehtävänä kuin uudesta hyödyttömästä "välittömästä alkukuvasta puolisumman rakentamiseksi ja niiden yhdistämiseksi täydellisen summaimen rakentamiseksi", mikä ei ole auttanut ketään ennen kylmän sodan loppua (edellinen, tuo on).
@OrangeDog True, mutta tämä on todennäköisesti harjoitus tunteaksesi, mitä hupun alla tapahtuu.Kukaan ei toimi tällä tasolla, ellet kehitä itse työkaluketjua.Mutta jonkinlainen käsitys siitä, mitä työkalujen on työskenneltävä, on hyödyllistä kirjoitettaessa HDL: ää tai ainakin lukemalla ajoitusraportteja yrittää selvittää, kuinka HDL: ää voidaan muokata kriittisten polkujen lyhentämiseksi.
Päästän sinut salaisuuden sisään: Se on kaikki mustaa taikaa.
se on vain taikuutta, jos nukuit luennon läpi, missä se selitettiin
Kolme vastused:
alex.forencich
2019-10-08 23:49:26 UTC
view on stackexchange narkive permalink

Vihreät laatikot ovat IO-nastoja, siniset viivat ovat johtoja, punaiset laatikot ovat kokoonpanobittejä ja harmaat laatikot ovat logiikkalohkoja. Punaiset laatikot voivat antaa vakiologiikan 0 tai logiikan 1 riippumatta siitä, mihin ne ovat yhteydessä.

Jokainen logiikkalohko toteuttaa 3 tulon, 1 lähdön hakutaulukon (kolmen tulon logiikkatasojen yhdistelmä määrittää, mikä kahdeksasta kokoonpanobitistä on valittu) ja siinä on ohitettava kiikku. Viestisi näyttää myös totuustaulukon, jonka LUT toteuttaa, osoittaen, mikä konfigurointibitti on valittu jokaiselle yhdistelmälle s0, s1 ja s2.

Esimerkiksi sinisten johtojen risteyksissä olevat punaiset laatikot on kytketty johtojen väliseen porttiin. Jos jokin näistä asetetaan arvoon 1, vaaka- ja pystylangat yhdistetään toisiinsa ja asetetaan arvoon 0, jolloin johdot ovat irti.

Sinun on kirjoitettava 1 tai 0 kuhunkin punaiseen ruutuun, jotta yläosassa olevien vihreiden ruutujen tulosignaalit lähetetään logiikkalohkojen läpi, jotka sinun on määritettävä tarvittavan logiikan toteuttamiseksi. toiminnon suorittamiseksi. Näyttää siltä, ​​että he haluavat sinun lisäävän {a1, a0}, {b1, b0} ja ci yhteen.

Tässä on esimerkki 3-tuloisen TAI portin toteuttamisesta:

OR gate

Kaikkien tyhjien ruutujen oletetaan olevan loogisia 0. Tämä vie 3 tuloa a0 b0 ja ci, laskee loogisen TAI ja antaa tuloksen vapaalle pinille. Tärkeimpiä huomioitavia asioita ovat se, kuinka konfigurointibitit ohjaavat pääsoportteja yhdistämään kolme tulosignaalia logiikkalohkon kolmeen sisääntuloon ja lähtö vapaaseen lähtönippiin, ja miten logiikkalohko toteuttaa TAI-toiminnon - 0, kun kaikki tulot ovat 0, muuten 1, kiikku ohitetaan.

Yleensä FPGA: n sisäisistä väylistä on enemmän yhteyslogiikkaa I / O-nastoihin, tyypillisesti I / O voidaan reitittää melkein mihin tahansa I / O-nastaan
@VoltageSpike True, mutta tämä on erittäin yksinkertaistettu esimerkki.Ja tässä tapauksessa et ehkä edes ajattele niitä olevan IO: ta ulkomaailmaan, mutta yhteyksiä johonkin muuhun osaan suurempaa mallia.
DKNguyen
2019-10-08 23:52:48 UTC
view on stackexchange narkive permalink

Lähetit oman selityksesi.Katso tarkemmin omaa kuvaa:

enter image description here

Punainen ruutu on tarkoitettu etikettiruutuun, johon voit kirjoittaa arvolla tai signaalilla, ja se edustaa signaalia, joka ohjaa kytkintä, joka yhdistää vaakasuoran johdon pystysuoraan johtoon (vihreät viivat).Vaaka- ja pystyjohtoja ei ole kytketty risteyksessä niiden ylittäessä, ellei kytkin (transistoria ohjaa punaisen laatikon arvo) tee sitä

Voltage Spike
2019-10-08 23:30:36 UTC
view on stackexchange narkive permalink

Vihreät viivat ovat johtoja, punaiset laatikot ovat liitäntöjä, voit liittää vihreän johdon lohkoon kytkimellä.Kytkin on punaisessa lohkossa ja se voi liittää kaksi johtoa yhteen, jos se on käytössä.

Näin monta nykyaikaista FPGA: n työtä.Mutta sen sijaan, että tarvitsisit tehdä tämän käsin, laitteistosyntetisaattori selvittää sen sinulle.Hitto, kun olet suorittanut tämän tehtävän, voit kirjoittaa oman peruslaitteistosyntetisaattorin!

Hmm, okei, mutta en silti ymmärrä sitä.Suurin osa näistä vihreistä johtimista kulkee vain päästä toisesta menemättä mihin tahansa lohkoon.Mutta ehkä heidän ei pitäisi? Lisäksi mitä vihreiden kirjainten yläosassa olevien kirjainten on tarkoitus tarkoittaa?
Nämä ovat tuloja, joten antamasi kolme tuloa, kuten tekisit missä tahansa 2-bittisessä summaimessa, ja sitten sinun on käytettävä laitteistoa, jonka haluat luoda sopivat lähdöt.Näin, mutta FPGA-laitteistolla https://electronics.stackexchange.com/questions/129549/2-bit-adder-implementation


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 4.0-lisenssistä, jolla sitä jaetaan.
Loading...