W??czenie zasilania - CPLD Xilinx

Nov 20, 2009 5 Replies

Witam,



Poszukuję sposobu na domyślne ustawianie stanów elementów w strutkturze CPLD.



Mam logikę zaszytą w w układzie CPLD Xilinix XC2C64A. Logika działa ale po włączeniu zasilania ma przez chwilę "stan nieustalony"



Czy macie jakieś pomysły jak to zablokować wewnętrznie w tej strukturze ?



Do głowych przychodzi mi pomysły żeby zrobić pin reset z wewnętrzna logiką i podtrzymywać go przez chwilę po włączeniu zasilania



Co Wy na to ??



Pozdrawiam Andrzej


fred pisze:

Prosze cie bardzo cala gama resetow z roznym czasem resetu i watchdogiem jesli trzeba.

formatting link

No przecież wejście resetujące jest konieczne w cpld/fpga.

Pozdrawiam MiSter

MiSTER pisze:

W kazdym systemie jest konieczne ale wlasnie zeby uniknac stanow niustalonych na liniach ukladow ktore uruchamiaja sie szybciej niz reszta systemu stosuje sie uklady resetu ktore to podtrzymuja stan niski na lini RESET do momentu prawidlowego startu calego systemu.

W linku ktory podalem sa gotowe scalaki ale mozna to zrobic tez na piechote.

Nie uzywam Xilinx, ale ponizszy generator dziala mi w Alterze: Pewnie bedziesz musial doczytac jak w Xilinx definiowac stan power-up (a jak juz doczytasz to pewnie resetu nie bedziesz potrzebowal).

library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all;

entity reset_generator is port ( clk : in std_logic; nrst_output : out std_logic ); end reset_generator;

architecture ar1 of reset_generator is signal int_res : std_logic; signal res_cnt : unsigned (2 downto 0) := "000"; attribute altera_attribute : string; attribute altera_attribute of res_cnt : signal is "POWER_UP_LEVEL=LOW";

begin nrst_output <= not int_res; process (clk) begin if (rising_edge(clk)) then if (res_cnt /= "111") then res_cnt <= res_cnt + 1; end if; int_res <= not res_cnt(0) or not res_cnt(1) or not res_cnt(2); end if; end process; end ar1;

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required