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:
  1. Skjema over kretsen plottet fra verktøyet
  2. 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:

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: