AKUT HJÄLP! Behöver göra en "test bench" av VHDL-koden

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Jennie
Inlägg: 173
Blev medlem: 8 februari 2014, 13:23:00

AKUT HJÄLP! Behöver göra en "test bench" av VHDL-koden

Inlägg av Jennie »

Hej! :)

Nu är goda råd dyra ska jag säga. Kanske är ett långskott det här men jag har gjort en kod här som bara ska multiplicera de två inkommande talen lnA och lnB, men jag är så dålig på att göra "test benchs" i Xilinx så jag får aldrig till det och jag ska ha lämna in det här innan klockan 15.00

Vet nån och kan hjälpa?
Bifogar bild på koden och en word-fil på den (som bara är att lägga in i Xilinx).

Bild

En test bench och se att det funkar är vad jag är i stort behov av hjälp med alltså, tusen tack på förhand!!!!!!!!
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
BJ
Inlägg: 8299
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: AKUT HJÄLP! Behöver göra en "test bench" av VHDL-koden

Inlägg av BJ »

Det här är inte svaret på din fråga, men kanske lite hjälp på vägen.
Så här kan man göra om man simulerar med Modelsim.
Jag vet inte hur det fungerar med andra simulatorer.

Gör emulatorer som skapar signaler för insignalerna,
t.ex. så här för reset-signalen:

Kod: Markera allt

--  emulator_reset.vhd

library ieee;
  use ieee.std_logic_1164.all;
  use ieee.std_logic_signed.all;

entity emulator_reset is
  port (
    reset : out std_logic  --  reset
  );
end emu_reset;

architecture beteende of emulator_reset is

  signal s_reset : std_logic;

begin

  emulator_reset_process : process

  begin

    s_reset <= '1';
    wait for (100 ns);
    s_reset <= '0';
    wait for (1000 ms);

  end process emulator_reset_process;

  reset <= s_reset;

end beteende;
"wait for (xxx ns)" går inte att göra syntes av.
Det fungerar bara i simulatorn.

Sen gör man en testbänks-fil där man gör instanser
av komponenterna, och kopplar ihop dom med emulatorerna.
Här är det bara en komponent med i testbänken: emulatorn för reset-signalen.

Kod: Markera allt

--  tb.vhd

library ieee;
  use ieee.std_logic_1164.all;

entity tb is
  port (
    reset : out std_logic
  );
end tb;

library ieee;
  use ieee.std_logic_1164.all;

architecture beteende of tb is

  signal s_reset : std_logic;

component emulator_reset
  port (
    reset : out std_logic
  );
end component;

begin

i_emulator_reset : emulator_reset
  port map (  
    reset  =>  s_reset
  );

    reset <=  s_reset;

end beteende;
Sen får man bygga vidare och ta med resten av
komponenterna och signalerna.

Kanske lite hjälp i alla fall. :)
Jennie
Inlägg: 173
Blev medlem: 8 februari 2014, 13:23:00

Re: AKUT HJÄLP! Behöver göra en "test bench" av VHDL-koden

Inlägg av Jennie »

Tack så mycket för hjälpen! Fick till en testbänk nu men jag vet inte varför utgång "C" inte får några svar från "lnA" och "lnB" ?

Bild

Koden:
Bild

Bild på min testbänk där jag matar lite på ingångarna lnA och lnB:
Bild
danwi
Inlägg: 377
Blev medlem: 16 oktober 2008, 17:00:59
Ort: Linköping

Re: AKUT HJÄLP! Behöver göra en "test bench" av VHDL-koden

Inlägg av danwi »

Klockan har förvisso passerat 15 med god marginal men om du inte hittat problemet ännu så finns åtminstone ett svar på din fråga i processen ResReg! "Den som söker, han finner" som det står i en känd gammal bok :)
Skriv svar