最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

用VHDL实现分频器

来源:动视网 责编:小OO 时间:2025-09-26 23:55:48
文档

用VHDL实现分频器

libraryIEEE;useIEEE.STD_LOGIC_11.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityfenpinisPort(RESET:instd_logic;CLK:instd_logic;CLKOUT1:outstd_logicCLKOUT1:outstd_logicCLKOUT1:outstd_logic);--分配三个输出口endfenpin;architectureBehav
推荐度:
导读libraryIEEE;useIEEE.STD_LOGIC_11.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityfenpinisPort(RESET:instd_logic;CLK:instd_logic;CLKOUT1:outstd_logicCLKOUT1:outstd_logicCLKOUT1:outstd_logic);--分配三个输出口endfenpin;architectureBehav
library IEEE;

use IEEE.STD_LOGIC_11.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity fenpin is

     Port ( RESET : in std_logic;

CLK : in std_logic;

           CLKOUT1 : out std_logic

CLKOUT1 : out std_logic

CLKOUT1 : out std_logic);--分配三个输出口

end fenpin;

architecture Behavioral of fenpin is

signal div_val1: integer range 0 to 2;   --分频值=2*2

signal div_val2: integer range 0 to 4;

signal div_val3: integer range 0 to 8;

    signal div_clk1 : std_logic;--因为CLKOUT是out类型,

                            --用div_clk1来暂存

    signal div_clk2 : std_logic;

signal div_clk3 : std_logic;

begin

process(CLK,RESET)

  begin

      if(RESET='0') then--RESET的优先级最高

       div_clk1 <= '0';

        div_clk2 <= '0';

        div_clk3 <= '0';

      elsif(CLK'event and CLK='1') then --判断CLK上升沿

         if(div_val1=2) then

           div_val1<= 0;

           div_clk1 <= not div_clk1;

        else

           div_val1 <= div_val1 + 1;--在CLK的上升

                  --沿div_val1自加1,加到2时清零并将div_clk1取反

                end if;

        if(div_val2=4) then

           div_val2 <= 0;

           div_clk2 <= not div_clk2;

        else

           div_val2 <= div_val2 + 1;--在CLK的上升

                  --沿div_val2自加1,加到4时清零并将div_clk2取反

                end if;

if(div_val3=8) then

           div_val3 <= 0;

           div_clk3 <= not div_clk3;

        else

           div_val3 <= div_val3 + 1;--在CLK的上升

                  --沿div_val3自加1,加到8时清零并将div_clk3取反

                end if;

           end if;    

 end process;

CLKOUT1 <= div_clk1;

CLKOUT2 <= div_clk2;

CLKOUT3 <= div_clk3;

 end Behavioral;

    

文档

用VHDL实现分频器

libraryIEEE;useIEEE.STD_LOGIC_11.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entityfenpinisPort(RESET:instd_logic;CLK:instd_logic;CLKOUT1:outstd_logicCLKOUT1:outstd_logicCLKOUT1:outstd_logic);--分配三个输出口endfenpin;architectureBehav
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top