Chào các bác,em đang học môn PLD & ASIC, thực hành trên kit Nexys spartan 3e,có đoạn code chia xung 50Mhz thành xung 1Hz mà em đọc hoài không hiểu,các bác nào thông thạo chỉ giùm em với ![29](http://dientuvietnam.net/forums/images/smilies/29.gif)
entity chiaxung is
Port ( CK50MHZ : in STD_LOGIC;
CK1HZ : in STD_LOGIC
);
end DEM_NP4BIT;
architecture Behavioral of DEM_NP4BIT is
SIGNAL CHIA: INTEGER RANGE 0 TO 25000000:=0;
SIGNAL CK1HZT: STD_LOGIC:='0';
begin
PROCESS(CHIA,CK50MHZ,CK1HZT)
BEGIN
IF FALLING_EDGE(CK50MHZ) THEN
IF CHIA=25000000 THEN CHIA <=0;
CK1HZT <= NOT CK1HZT;
CHIA <= CHIA +1;
END IF;
END IF;
CK1HZT<=CK1HZT;
END PROCESS;
end Behavioral;
EM XIN CẢM ƠN (BÁC NÀO LÀM ƠN GIẢI THÍCH CẶN KẼ TÍ GIÙM EM VỚI NHA :d)
![29](http://dientuvietnam.net/forums/images/smilies/29.gif)
entity chiaxung is
Port ( CK50MHZ : in STD_LOGIC;
CK1HZ : in STD_LOGIC
);
end DEM_NP4BIT;
architecture Behavioral of DEM_NP4BIT is
SIGNAL CHIA: INTEGER RANGE 0 TO 25000000:=0;
SIGNAL CK1HZT: STD_LOGIC:='0';
begin
PROCESS(CHIA,CK50MHZ,CK1HZT)
BEGIN
IF FALLING_EDGE(CK50MHZ) THEN
IF CHIA=25000000 THEN CHIA <=0;
CK1HZT <= NOT CK1HZT;
CHIA <= CHIA +1;
END IF;
END IF;
CK1HZT<=CK1HZT;
END PROCESS;
end Behavioral;
EM XIN CẢM ƠN (BÁC NÀO LÀM ƠN GIẢI THÍCH CẶN KẼ TÍ GIÙM EM VỚI NHA :d)
Comment