P
Pheetuz
Guest
Hi folks.
Got projektu, es esmu strādā pie ATM, kur i ir uzņemt vairākas paralēli un pārvērst / nosūtiet to, izmantojot saiti sērijas formātā un pēc tam konvertēt šīs datu plūsmas atpakaļ paralēli ir outputted uz septiņu segmentu displeju.
Es esmu uzrakstījis raidītāja kods ar nelielu problēmu, bet esmu, kam daži jautājumi ar uztvērēju.
Trasnsmitter piešķir kodu "1011", lai sākotnējie dati pirms nosūtīšanas (labajā pusē sākotnējos datus) ...Šis ir mans identifikācijas kods, kas es izmantot, lai pastāstītu uztvērēju, kad dati ir pārvietoti pareizs vairākas reizes.
Man ir iekšējā failu ar nosaukumu temp, ka es esmu, izmantojot kā pārmaiņas reģistru un tikai vēlas temp būt kopēts produkciju, ja "1011" ir temperatūra (3 downto 0).
Papildus tam, es tikai vēlos temp būt kopēts ouput ja temp (5) ir loģika "0" (ja temp (3 downto 0) = "1011"), citādi es gribu citu kodu kopēt uz izejas - exaclty ko kods tas būs, ir Nav zināms pašlaik.
Zemāk ir daži kodu, ka es esmu uzrakstījis, tas nav apkopot šobrīd un im gatavojas šķirošanas, ka, lol, bet visas atsauksmes būtu appreciated.bibliotēkas IEEE;
izmantot ieee.std_logic_1164.all;
izmantot ieee.numeric_std.all;vienība Shift_reg ir osta (
reset, CLK, bin: ar std_logic;
menca: no std_logic_vector (3 downto 0));
beigās Shift_reg;arhitektūra reg no Shift_reg ir
sākt
Tiesības: process (CLK, bin, reset)
mainīgā temperatūra: std_logic_vector (7 downto 0);
mainīgais temp1: std_logic_vector (7 downto 0);
mainīgais temperror: std_logic_vector (3 downto 0);
sākt
- Temperror: = "0110"
ja rising_edge (CLK), tad
temperatūra: = temperatūra srl 1;
temperatūra (7): = bin;vēl
ja temp (3 downto 0) = "1011", tad
ja temp (5) = "0", tad
menca (3 downto 0) <= temp (7 downto 4);
temperatūra: = temperatūra srl 1;elsif temp (5) = "1", tad
menca <= temperror (3 downto 0);
beidzas, ja;beidzas, ja;
beidzas, ja;- [Ja bit 5 = 1 un pēc tam menca <= KĻŪDA];gala procesa;
beigās reg;
Liels paldies.
/ Pete
Got projektu, es esmu strādā pie ATM, kur i ir uzņemt vairākas paralēli un pārvērst / nosūtiet to, izmantojot saiti sērijas formātā un pēc tam konvertēt šīs datu plūsmas atpakaļ paralēli ir outputted uz septiņu segmentu displeju.
Es esmu uzrakstījis raidītāja kods ar nelielu problēmu, bet esmu, kam daži jautājumi ar uztvērēju.
Trasnsmitter piešķir kodu "1011", lai sākotnējie dati pirms nosūtīšanas (labajā pusē sākotnējos datus) ...Šis ir mans identifikācijas kods, kas es izmantot, lai pastāstītu uztvērēju, kad dati ir pārvietoti pareizs vairākas reizes.
Man ir iekšējā failu ar nosaukumu temp, ka es esmu, izmantojot kā pārmaiņas reģistru un tikai vēlas temp būt kopēts produkciju, ja "1011" ir temperatūra (3 downto 0).
Papildus tam, es tikai vēlos temp būt kopēts ouput ja temp (5) ir loģika "0" (ja temp (3 downto 0) = "1011"), citādi es gribu citu kodu kopēt uz izejas - exaclty ko kods tas būs, ir Nav zināms pašlaik.
Zemāk ir daži kodu, ka es esmu uzrakstījis, tas nav apkopot šobrīd un im gatavojas šķirošanas, ka, lol, bet visas atsauksmes būtu appreciated.bibliotēkas IEEE;
izmantot ieee.std_logic_1164.all;
izmantot ieee.numeric_std.all;vienība Shift_reg ir osta (
reset, CLK, bin: ar std_logic;
menca: no std_logic_vector (3 downto 0));
beigās Shift_reg;arhitektūra reg no Shift_reg ir
sākt
Tiesības: process (CLK, bin, reset)
mainīgā temperatūra: std_logic_vector (7 downto 0);
mainīgais temp1: std_logic_vector (7 downto 0);
mainīgais temperror: std_logic_vector (3 downto 0);
sākt
- Temperror: = "0110"
ja rising_edge (CLK), tad
temperatūra: = temperatūra srl 1;
temperatūra (7): = bin;vēl
ja temp (3 downto 0) = "1011", tad
ja temp (5) = "0", tad
menca (3 downto 0) <= temp (7 downto 4);
temperatūra: = temperatūra srl 1;elsif temp (5) = "1", tad
menca <= temperror (3 downto 0);
beidzas, ja;beidzas, ja;
beidzas, ja;- [Ja bit 5 = 1 un pēc tam menca <= KĻŪDA];gala procesa;
beigās reg;
Liels paldies.
/ Pete