Digitalt design av A·10
Første obligatoriske oppgave i IN 147, våren 2001
I denne oppgaven skal dere implementere en krets i Diglog som
multipliserer et vilkårlig positivt 4 bit tall med +/- 10.
Besvarelsen
Dere skal levere en rapport som skal ha følgende innhold:
- Skjema over kretsen plottet fra verktøyet
- En tekstlig forklaring på hvordan kretsen virker på minst ½
side
Dette skal være samlet i ett dokument produsert med et verktøy for
dokumentframstilling.
Diglog-implementasjonen
Dere skal bruke DIGLOG [eller
et lignende verktøy] til å konstruere en krets som tar et tall A
representert med 4 bit og multipliserer det med 10 (ti), også 4
bit. Multiplikasjon av to 4 bit tall gir svar på inntil 8 bit.
Logikken skal bare bestå av inverterere, 2-input AND, OR og XOR porter.
For å lette arbeidet deres og arbeidet med å godkjenne besvarelsene
skal dere basere skjemaet for kretsen på malen
~in147/www_docs/Oblig1/axtimal.lgf [hvis dere bruker
DIGLOG]. Der
finner dere fem innganger, fire datasignaler [A0, A1, A2, A3] og et
styresignal, og ni utganger
[R0, R1, R2, R3, R4, R5, R6, R7, R8], der A0 og R0 er de minst
signifikante bitene. Styresignalet skal kontrollere om A blir
multiplisert med +10 eller -10.
Kopier filen, og kjør diglog axtimal.
Det er viktig å legge merke til at denne funksjonen kan implementeres
ved bare å benytte skifting og addisjon.
Videre så er det mulig å gjøre forenklinger ut ifra binærkodingen av
konstanten 10. Svaret skal være representert på 2-komplements form.
Hint:
- Gå nøye gjennom hvordan de forskjellige bitene i resultatet fremkommer
- Start designet med å konstruere en 1 bit full-adderer
- Fullfør kretsen ved å sette sammen 1 bit full-adderere
- Tenk over hvilke muligheter man har for å representere negative tall
binært
- Å multiplisere et tall med 10 kan
også utføres ved å først multiplisere tallet med 8, og deretter legge
til tallet multiplisert med 2.
Frist
Fristen er satt til: 16. mars 2001
Dokumentframstilling
Det finnes mange tilgjengelige verktøy for fremstilling av dokumenter.
Under følger pekere til innføringer i noen aktuelle alternativer: