Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Allgemeines (OffTopic) » Adierer ('A'+'8'='12 (hexadez.))

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ]
000
25.07.2004, 16:40 Uhr
Tommi Bisic



Hallo Leute!
Ich wusste net wo ich das reinposten soll deswegen habe ich das jetzt hier reingepostet.
Ich habe das Problem dass ich morgen an meiner FH ein programm von einem Addierer abgeben muss.Das Programm habe ich mir "besorgt".
Leider steht jetzt in der Aufgabe dass ich zusätzlich abgeben soll:

- Ein Ausschnitt aus der Simulation, in der die Rechnung
"1010"+"1000"="10010" (binär) bzw. „A“ + „8“ = „12“
(hexadezimal) zu sehen ist.

Jetzt weiss ich aber net wie ich das darstellen soll

Also das Programm sieht wie folgt aus:


Code:
library ieee;
use ieee.std_logic_1164.all;

--Entity ohne Ports
entity tb_fa is end tb_fa;

architecture tb of tb_fa is
--Deklarationsteil
component fa
port (a,b: in std_logic;
s: out std_logic;
ci: in std_logic;
cg,cp: out std_logic);
end component;

signal a: std_logic;
signal b: std_logic;
signal ci: std_logic;
signal s: std_logic;
signal cg: std_logic;
signal cp: std_logic;


begin



process begin
a <= '0';b <= '0';ci <= '0';wait for 100 ns;
a<='0';b<='0';ci<='1';wait for 100 ns;
a<='0';b<='1';ci<='0';wait for 100 ns;
a<='0';b<='1';ci<='1';wait for 100 ns;
a<='1';b<='0';ci<='0';wait for 100 ns;
a<='1';b<='0';ci<='1';wait for 100 ns;
a<='1';b<='1';ci<='0';wait for 100 ns;
a<='1';b<='1';ci<='1';wait for 100 ns;
a<='0';b<='0';ci<='0';wait for 100 ns;


wait;
end process;

dut : fa port map(a=>a,b=>b,s=>s,ci=>ci,cg=>cg,cp=>cp);

end tb;



Bin für jede Hilfe dankbar

Dieser Post wurde am 25.07.2004 um 17:20 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.07.2004, 16:48 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


vielleicht hilft dir das beim verständnis.. das wird das addieren nur mit bitoperatoren realisiert
www.fun-soft.de/showtopic.php?threadid=8092&time=1089986085
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.07.2004, 17:27 Uhr
Pablo
Supertux
(Operator)


Das ist VHDL, wieso machst du nicht einfach

a+b?

Schau dir das mal an: (ich mache den Link bereit)


Bearbeitung von Pablo:

http://pcpool.mathematik.uni-freiburg.de/~pabloy/020206.zip
Schau dir Aufgabe1, die Datei alu_base.vhd

Das Übungsblatt
http://pcpool.mathematik.uni-freiburg.de/~pabloy/vr2versuch2.pdf


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 25.07.2004 um 17:32 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.07.2004, 18:27 Uhr
Tommi Bisic



Genau Pablo, es handelt sich um VHDL
Ich habe auch die kompletten Lösungen nur weiss ich leider nicht wie ich mithilfe des
"OrCAD Simulate" eine Ausschnitt aus der Simulation in der die Rechnung 'A'+'8'='12' (h)
oder '1010'+'1000'='10010' (b) zu sehen ist bekomme.Vielleicht hba eich auch oben den falschen Code reingepostet und folgender ist richtig:


Code:

--------adder4.vhd--------

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;

entity adder4 is --Entity 4 - Bit Addierer mit Eingängen a,b und Ausgang s
    port (a,b : in std_logic_vector(3 downto 0);
          s: out std_logic_vector(4 downto 0));
    end;

--Strukturbeschreibung von adder4    
architecture struc of adder4 is
    component fa --Komponente Volladdierer
        port (a,b:    in std_logic;
                s:    out std_logic;
              ci:    in std_logic;
              cg,cp:out std_logic);
    end component;
    
    component clag  --Komponente Carry Look Ahead Generator
        port (ci:in std_logic;
              co,cp,cg:out std_logic;
              g0,p0:in std_logic;
              c1:out std_logic;g1,p1:in std_logic;
              c2:out std_logic;g2,p2:in std_logic;
              c3:out std_logic;g3,p3:in std_logic);
    end component;    
    
    signal cg,cp,low,  --Signaldeklaration für inneren Ablauf von adder4          
           c_1,c_2,c_3,
           cg_0,cg_1,cg_2,cg_3,
           cp_0,cp_1,cp_2,cp_3:std_logic;

    
    begin --Portzweisungen
    
    low <= '0'; --Signal low das an ci des CLAGs und an c0 von FA0 anliegt
        
    --Portzweisungen der Volladdierer

    Adder0: fa port map (a=>a(0),b=>b(0),s=>s(0),ci=>low,cg=>cg_0,cp=>cp_0);
    Adder1: fa port map (a=>a(1),b=>b(1),s=>s(1),ci=>c_1,cg=>cg_1,cp=>cp_1);
    Adder2: fa port map (a=>a(2),b=>b(2),s=>s(2),ci=>c_2,cg=>cg_2,cp=>cp_2);
    Adder3: fa port map (a=>a(3),b=>b(3),s=>s(3),ci=>c_3,cg=>cg_3,cp=>cp_3);
        
    --Portzweisungen des CLAGs
        
    clag: clag port map (ci=>low,co=>s(4),cp=>cp,cg=>cg,
                         g0=>cg_0,p0=>cp_0,c1=>c_1,
                         g1=>cg_1,p1=>cp_1,c2=>c_2,g2=>cg_2,
                         p2=>cp_2,c3=>c_3,g3=>cg_3,p3=>cp_3);

end struc; --Ende Strukturbeschreibung    




ARGH!!!ich muss das morgen abgeben, da ich sonst durchfliege und weiss net was ich tun soll.Bitte helft mir
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.07.2004, 18:32 Uhr
Pablo
Supertux
(Operator)


'1010'+'1000'='10010' ist auf jeden Fall richtig. Was willst du machen? Was soll dein Schaltkreis tun?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 25.07.2004 um 18:34 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.07.2004, 18:41 Uhr
Tommi Bisic



Ich poste dir mal die komplette Aufgabe rein:


a) Wie Sie aus der Zeichnung erkennen können, generiert der verwendete
Volladdierer kein carry-out, sondern statt dessen die Signale carry-generate (cg)
und carry-progagate (cp).
Vervollständigen Sie die VHDL-Beschreibung des Volladdieres (fa.vhd) unter
Beachtung der folgenden Vorgaben:
- Die Beschreibung des Schaltnetzes für s erfolgt in einem eigenen Prozess und
verwendet das "case-statement".
- Die Schaltnetze für cg und cp werden in einem zweiten Prozess beschrieben,
wobei hier unvollständige "if-statements" zu verwenden sind.
Die Verifikation Ihres Entwurfs mit einer geeigneten Testbench ist zwar nicht
Pflicht, wird aber dringend empfohlen, da sich sonst eine eventuelle Fehlersuche
bei Aufgabe 1c als schwierig erweisen kann.
Vorgaben: - Anfang der Datei fa.vhd.
Abzugeben: - Handgeschriebener VHDL-Code für die beiden Prozesse.
b) Erstellen Sie eine Strukturbeschreibung des 4-Bit-Addierers (Datei:
adder4.vhd). Die Namen der Ports können Sie der Zeichnung oder den
Vorgaben entnehmen.
Vorgaben: - Anfang der Datei adder4.vhd;
- Vollständige Datei clag.vhd.
Abzugeben: - Ein Ausdruck der vollständigen Datei adder4.vhd.
c) Erstellen Sie eine Testbench für den 4-Bit-Addierer (Datei: tb_adder4.vhd).
Dabei sollen alle Kombinationen der 4-Bit-Eingänge a und b jeweils für 100 ns
anliegen. Verwenden Sie dazu eine geschachtelte for-loop, in der Sie jeweils die
Arithmetik des Datentyps unsigned ausnutzen.
Vorgaben: - Anfang der Datei tb_adder4.vhd;
Abzugeben: - Ein Ausdruck der vollständigen Datei tb_adder4.vhd.
- Ein Ausschnitt aus der Simulation, in der die Rechnung
"1010"+"1000"="10010" (binär) bzw. „A“ + „8“ = „12“
(hexadezimal) zu sehen ist.



Ich habe die Lösungen hier von einem Kommilitonen bekomen
nur bei Aufg 1c) wo ma ja einen Auschnitt aus der Simulation audrucken soll, weiss ich net wie ich da machen muss
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
25.07.2004, 18:42 Uhr
Pablo
Supertux
(Operator)


Willst du denn ein Carray Lookahead Addierer bauen? Hast du die Aufagbe als pdf?
Kann ich die Zeichnung sehen? (also Schaltbild des Schaltkreises?) Wie viele Bits soll es addieren?

Vielleicht hilft dir das weiter
http://pcpool.mathematik.uni-freiburg.de/~pabloy/kap10_2.pdf
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 25.07.2004 um 18:48 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
25.07.2004, 18:49 Uhr
Tommi Bisic



Ich würde dir gerne die komplette Aufgabe als PDF schicken aber ich weiss net wie?
kann ich sie dir als e-Mail anhang schicken?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
25.07.2004, 18:54 Uhr
Pablo
Supertux
(Operator)


Hast du eine Webiste? stell sie dir dort. Oder schick mir den Link der Vorlesungseite und wo sich die Aufgabe befindet.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
25.07.2004, 18:57 Uhr
Tommi Bisic



Ne leider habe ich keine eigene Website.
Aber den Link müsste ich dir geben können:
http://eit.fh-pforzheim.de/frame_2.htm

Sag mir bitte ob es geklappt hat da normalerweise ein Passwort verlangt wird
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ]     [ Allgemeines (OffTopic) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: