Kodėl ne synthesizable?

T

trurl

Guest
Sveiki, Ar kas nors pasakyti, kodėl šį kodą negali būti pagaminamos? Xilinx sako signalo ACC negali būti susintetinti.
Code:
 biblioteka IEEE; naudoti IEEE.std_logic_1164.all; naudoti IEEE.STD_LOGIC_ARITH.ALL; subjektas Mac uosto (in1: pasirašyta (11 downto 0); IN2: pasirašyta (11 downto 0); CLK: į std_logic; RST: std_logic; ACC, pasirašytas (23 downto 0)); pabaigos Mac, architektūra elgesio Mac signalo produktų, reg: pasirašyta (23 downto 0); pradėti procesas (CLK, RST, IN1, IN2) kintamasis suma: pasirašė (23 downto 0); pradėti pro
 
Apibūdinkite tipo Xilinx prietaisas yra naudojamas. Šį pareiškimą:
Code:
 ... jei (rst'event ir RST = '0 '), tada ...
, gali būti problema. Kraštas paskatino iš naujo, o ne implementet Xilinx prietaisai. Jūsų dizainas reikalauja du, krašto sukėlė patekimą į registrą (RST ir CLK). Išbandykite asinchroninis naujo. bi
 
Bis, ačiū. Kadangi esu pradedantysis, gal galėtumėte paaiškinti, kas yra "asinchroninis naujo" tai kažkas panašaus ... jei (RST = '0 '), tada ...
 
keisti visus (Parašas) signalus (std_logic ir std_logic_vector) signalus .. ir naudoti IEEE pasirašytą paketo failą pradžioje .. Pabandykite sintetina ir pašarų man baq ką ir gauti ..
 
Aš, manau, bis_ yra teisinga. Dauguma FIFO, įskaitant Xilinx FPGA FIFO, neturi krašto paskatino naujo įėjimo. Aš pakeičiau savo kraštą paskatino naujo: [color = Blue] jei (rst'event ir RST = '0 '), tada [/color] įprastą lygį jautrus (asinchroninis) iš naujo: [color = Blue] jei (RST = '0 ') [/color], ir dabar jis sintezuoja ISE 9.1i.
 
Norėdami echo47: Aš jau išbandžiau, jis sintezuoja, bet aš gauti negerai signalų mano dizainas. Thanks anyway.
 
[Quote = trurl] Sveiki, Ar kas nors pasakyti, kodėl šį kodą negali būti pagaminamos? Xilinx sako signalo ACC negali būti susintetinti.
Code:
 biblioteka IEEE; naudoti IEEE.std_logic_1164.all; naudoti IEEE.STD_LOGIC_ARITH.ALL; subjektas Mac uosto (in1: pasirašyta (11 downto 0); IN2: pasirašyta (11 downto 0); CLK: į std_logic; RST: std_logic; ACC, pasirašytas (23 downto 0)); pabaigos Mac, architektūra elgesio Mac signalo produktų, reg: pasirašyta (23 downto 0); pradėti procesas (CLK, RST, IN1, IN2) kintamasis suma: pasirašė (23 downto 0); pradėti pro
 
Čia yra ištaisyti kodą!
Code:
 biblioteka IEEE; naudoti IEEE.std_logic_1164.all; naudoti IEEE.STD_LOGIC_ARITH.ALL; subjektas Mac uosto (in1: pasirašyta (11 downto 0); IN2: pasirašyta (11 downto 0); CLK: į std_logic; RST: std_logic; ACC, pasirašytas (23 downto 0)); pabaigos Mac, architektūra elgesio Mac signalo produktų, reg: pasirašyta (23 downto 0); pradėti pro
 
[Quote = nand_gates] čia yra ištaisyti kodą!
Code:
 biblioteka IEEE; naudoti IEEE.std_logic_1164.all; naudoti IEEE.STD_LOGIC_ARITH.ALL; subjektas Mac uosto (in1: pasirašyta (11 downto 0); IN2: pasirašyta (11 downto 0); CLK: į std_logic; RST: std_logic; ACC, pasirašytas (23 downto 0)); pabaigos Mac, architektūra elgesio Mac signalo produktų, reg: pasirašyta (23 downto 0); pradėti pro
 
Norėdami omara007: Ačiū. Dodałem IN1 ir IN2 jautrumo sąrašą, nes Xilinx įspėja apie juos trūksta sąraše.
 
[Quote = trurl] Kad omara007: Ačiū. Pridėta IN1 ir IN2 jautrumo sąrašą, nes Xilinx įspėja apie juos trūksta sąraše. [/Quote] nekreipti dėmesio į šiuos įspėjimus .. Pabandykite pašalinti šios sąnaudos "...
 
jei (rst'event ir RST = '0 '), tada ir elsif (clk'event ir CLK = '0'), tada negali būti naudojama viename procese!!
 
Bandykite kodą nand_gates paskelbė ir ignoruoti bet kokį įspėjimą jums .. tada mums papasakoti apie bangos rezultatai
 
Manau, kad Xilinx visada sintetinti XX pareiškimas "jei (xx'event ir xx =" 0 / 1 ') "CLK pin FlipFlop, yra tik vienas CLK pin FS ląstelių. Taigi neturėtų būti du tokius pareiškimus, kai to paties proceso. Vienas procesas laikrodis domeno.
 
Į omara007: Aš bandė kodą, kurį jūs paminėjote. Bangos yra negerai, Mac įrenginys neveikia tinkamai. Priežastis, kodėl aš naudoti mano (rst'event ir RST = '0 ') ataskaita yra ta, kad man reikia sugeneruoti automatiškai iš naujo impulso. Kadangi mano kodas ne synthesizable, gali būti galėtumėte patarti, kaip sukurti trumpą RST impulsų tarp 2 CLK impulsų periodiškai po tam tikro CLK impulsus. Ačiū.
 
Pabandykite sukurti paprastą kovos (CNT) ... Šios atsakomosios skaičius 2 laikrodžio ciklai, ginti tam tikrą signalą, pavadinkime (xyz ") .. Galite naudoti kombinacyjnych ", kai" pareiškimą priskirti "1" vertės (xyz "), jei (CNT) skaitiklis yra lygus (2) .. Po to jūs galite naudoti šį signalą "jei" pareiškimas priversti visus kitus signalus dizainas lygus nuliui .. tačiau nekeičia, ji iš naujo ..
 

Welcome to EDABoard.com

Sponsor

Back
Top