S
shadeslayer
Guest
Hei alle
Jeg skrev følgende kode, kan noen fortelle meg om THR er noe som mangler?
Code:
-----------------------------------
-----------------------------------
--- Digital plukke amp calc --------
-----------------------------------
-----------------------------------bruk ieee.std_logic_1164.all;
bruk ieee.std_logic_arith.all;
bruk ieee.std_logic_unsigned.all;
library IEEE;
enhet lørdag erport (
DIN: i srd_logic_vector (7 downto 0); ---- data input-linjer
DOUT: out std_logic-vektoren (7 downto 0); ---- data output line
reset: in std_logic; ---- reset signal
nochange: in std_logic; ---- å indikere ingen data endre gjort
);end lørdag;arkitektur atferdsdata av lørdag er
type rega er array (0 til 7) bit; --------- RegA = refrance initialy 0
type regb er array (0 til 7) bit; --------- RegB = data hentet fra brukerensbegynneprosessen (en)
variable reg1: rega;
variable reg2: regb;begynneProsedyren overføringenbegynnereg1 (0) <= reg2 (0); ---------------- subroutine for data endre
reg1 (1) <= reg2 (1);
reg1 (2) <= reg2 (2);
reg1 (3) <= reg2 (3);
reg1 (4) <= reg2 (4);
reg1 (5) <= reg2 (5);
reg1 (6) <= reg2 (6);
reg1 (7) <= reg2 (7);end prosedyre transfer;DIN (0) => reg2 (0); --------------
DIN (1) => reg2 (1); --------
DIN (2) => reg2 (2); -----
DIN (3) => reg2 (3); - Data teken i RegB
DIN (4) => reg2 (4); --
DIN (5) => reg2 (5); -----
DIN (6) => reg2 (6); --------
DIN (7) => reg2 (7); --------------reg1 (0): = 0; --------------
reg1 (1): = 0; --------
reg1 (2): = 0; -----
reg1 (3): = 0; - RegA initialiseres til null
reg1 (4): = 0, --
reg1 (5): = 0; -----
reg1 (6): = 0; --------
reg1 (7): = 0; --------------if (reg2 (0)> reg1 (0)) så ---------------------------------
transfer;elseif (reg2 (1)> reg1 (1)) så -----------------------------
transfer;elseif (reg2 (2)> reg1 (2)) så -------------------------
transfer;elseif (reg2 (3)> reg1 (3)) da ----------------- overføre data hvis RegB> RegA
transfer;elseif (reg2 (4)> reg1 (4)) så ----------------- dermed på slutten får vi Maksimumsverdien
transfer;elseif (reg2 (5)> reg1 (5)) så -------------------------
transfer;elseif (reg2 (6)> reg1 (6)) så -----------------------------
transfer;elseif (reg2 (7)> reg1 (7)) så ---------------------------------
transfer;ellers
nochange; = 1; ---- indikerer ingen endring (ikke obligatorisk)end if;reg1 (0) => DOUT (0); ----------- data tas ut
reg1 (1) => DOUT (1);
reg1 (2) => DOUT (2);
reg1 (3) => DOUT (3);
reg1 (4) => DOUT (4);
reg1 (5) => DOUT (5);
reg1 (6) => DOUT (6);
reg1 (7) => DOUT (7);end prosessen;end Behavioral;
Jeg skrev følgende kode, kan noen fortelle meg om THR er noe som mangler?
Code:
-----------------------------------
-----------------------------------
--- Digital plukke amp calc --------
-----------------------------------
-----------------------------------bruk ieee.std_logic_1164.all;
bruk ieee.std_logic_arith.all;
bruk ieee.std_logic_unsigned.all;
library IEEE;
enhet lørdag erport (
DIN: i srd_logic_vector (7 downto 0); ---- data input-linjer
DOUT: out std_logic-vektoren (7 downto 0); ---- data output line
reset: in std_logic; ---- reset signal
nochange: in std_logic; ---- å indikere ingen data endre gjort
);end lørdag;arkitektur atferdsdata av lørdag er
type rega er array (0 til 7) bit; --------- RegA = refrance initialy 0
type regb er array (0 til 7) bit; --------- RegB = data hentet fra brukerensbegynneprosessen (en)
variable reg1: rega;
variable reg2: regb;begynneProsedyren overføringenbegynnereg1 (0) <= reg2 (0); ---------------- subroutine for data endre
reg1 (1) <= reg2 (1);
reg1 (2) <= reg2 (2);
reg1 (3) <= reg2 (3);
reg1 (4) <= reg2 (4);
reg1 (5) <= reg2 (5);
reg1 (6) <= reg2 (6);
reg1 (7) <= reg2 (7);end prosedyre transfer;DIN (0) => reg2 (0); --------------
DIN (1) => reg2 (1); --------
DIN (2) => reg2 (2); -----
DIN (3) => reg2 (3); - Data teken i RegB
DIN (4) => reg2 (4); --
DIN (5) => reg2 (5); -----
DIN (6) => reg2 (6); --------
DIN (7) => reg2 (7); --------------reg1 (0): = 0; --------------
reg1 (1): = 0; --------
reg1 (2): = 0; -----
reg1 (3): = 0; - RegA initialiseres til null
reg1 (4): = 0, --
reg1 (5): = 0; -----
reg1 (6): = 0; --------
reg1 (7): = 0; --------------if (reg2 (0)> reg1 (0)) så ---------------------------------
transfer;elseif (reg2 (1)> reg1 (1)) så -----------------------------
transfer;elseif (reg2 (2)> reg1 (2)) så -------------------------
transfer;elseif (reg2 (3)> reg1 (3)) da ----------------- overføre data hvis RegB> RegA
transfer;elseif (reg2 (4)> reg1 (4)) så ----------------- dermed på slutten får vi Maksimumsverdien
transfer;elseif (reg2 (5)> reg1 (5)) så -------------------------
transfer;elseif (reg2 (6)> reg1 (6)) så -----------------------------
transfer;elseif (reg2 (7)> reg1 (7)) så ---------------------------------
transfer;ellers
nochange; = 1; ---- indikerer ingen endring (ikke obligatorisk)end if;reg1 (0) => DOUT (0); ----------- data tas ut
reg1 (1) => DOUT (1);
reg1 (2) => DOUT (2);
reg1 (3) => DOUT (3);
reg1 (4) => DOUT (4);
reg1 (5) => DOUT (5);
reg1 (6) => DOUT (6);
reg1 (7) => DOUT (7);end prosessen;end Behavioral;