Problema sudėtinga VHDL dizainas: Slaptažodis Puolėjas

G

govandi999

Guest
Šį dizainą, mes turime užfiksuoti slaptažodį puola mechanizmu (bruteforce) raštu elgesio VHDL kodą elgesį. mechanizmas turime įvesties dydis 8-bit "duomenys". Slaptažodis būtų kažkur tarp 00 FF (hex). Mes nustatyti Pasakykite, 1C (HEX) įvestį. Ataka prasidės nuo šio įėjimo pasakyti 1C ir jis bus nuskaityti per net iki FF. Mes turime kitą įvesties "Start". Tai reiškia, kai start = '1 'tada savo slaptažodį puola prasideda. 8-bitų slaptažodžio jau buvo saugoma kintamojo kodo viduje. Jei sistema nustato teisingą slaptažodį, tada jis bus sustabdytas tuo numeriu. Jei ne, tada jis priglus prie FF (šešioliktainis). Jei kas nors gali inicijuoti šios problemos dizainas. Pl. įdėti jį čia
 
Check out šį vieną!
Code:
 biblioteka IEEE; naudoti IEEE.std_logic_1164.all naudojimas ieee.std_logic_arith.all; subjektas slaptažodis yra uostas (CLK: į std_logic; rst_n: std_logic; duomenys: std_logic_vector (7 downto 0); pradžia: std_logic; elgtis iš passwd pass_wd: iš std_logic_vector (7 downto 0)); pabaiga slaptažodis; architektūra yra signalas pass_word: std_logic_vector (7 downto 0): = to_stdlogicvector (x "AB"); signalas pass_cnt: std_logic_vector (7 downto 0); signalas start_d : std_logic; pradėti elgtis procesą (CLK, rst_n) pradėti procesą, jei rst_n = '0 ', tada - asinchroninis iš naujo (aktyvus žemas) start_d
 
Aš manau, kad jūs praleidote būklė, kai (start_d = "0" ir pradėti = '0 '). Prašome apsvarstyti šią sąlygą, taip pat, nes kitaip mašina pradės iškart po reset. [Quote = nand_gates] Check out šį vieną!
Code:
 biblioteka IEEE; ...... if (start_d = '0 'ir start = '1'), tada pass_cnt '1 ')) tada pass_cnt
 
Aš bandžiau paleisti VHDL kodą, kaip numatyta mūsų draugas, bet ji suteikia klaida sintezės (kompiliavimas) [color = green] signalas pass_word: std_logic_vector (7 downto 0): = to_stdlogicvector (x ", AB"); [/color] to_stdlogicvector turi du ar daugiau galimų apibrėžimų šią sritį. Pavyzdžiui, parametras 1 (eilutės reikšmė) gali būti: std_ulogic_vector arba BIT_VECTOR [color = # 444.444] elsif (! Pass_cnt = passwd ar pass_cnt = (kiti => "1")) tada [/color] sintaksės analizės klaida, netikėtas EQ
 
Čia yra pataisytas kodas. Naudojimas-aiškus Vcom
Code:
 bibliotekos IEEE jungiklis naudoti IEEE.std_logic_1164.all naudojimas ieee.std_logic_unsigned.all subjektas slaptažodis yra uostas (CLK: std_logic; rst_n: std_logic; duomenys: std_logic_vector (7 downto 0) ; pradėti: std_logic; pass_wd: iš std_logic_vector (7 downto 0)); pabaiga passwd; architektūros elgtis passwd yra signalas pass_word: std_logic_vector (7 downto 0): = "10.101.010" signalas pass_cnt: std_logic_vector (7 downto 0); signalas start_d: std_logic; pradėti elgtis procesą (CLK, rst_n) pradėti procesą, jei rst_n = '0 ', tada - asinchroninis iš naujo (aktyvus žemas) start_d
 
Nors slaptažodis yra be klaidų. Bet tai nėra tai, ką reikia, nes per problema ataskaitoje. 1. Ji doesnot duoti jokio rezultato. Pavyzdžiui, kai slaptažodis yra nustatyta, kas yra išėjimo pass_wd.If yourun į Dabarinė VHDL kodo vertė, ji doesnot bet kurio išėjimo 2. Taip pat pradinė vertė "pradedant 1C, jis turėtų pradėti nuskaityti iš 1C ir tol, kol ji nustato slaptažodį, jei ji nustato savo slaptažodį, jis turėtų suteikti lygus su slaptažodžiu nors ji ir toliau turėtų nuskaitymo iki FF išėjimo. Pl. įtraukti šiuos pakeitimus kodą. Poilsis yra Gerai.
 

Welcome to EDABoard.com

Sponsor

Back
Top