puzzle55 2017-05-06 15:12 采纳率: 0%
浏览 1080

vhdl中的pcm采编器 求指导

现在有一个pcm采编器的程序,但是参数不符合要求,比如帧同步码、帧长和码率,要怎么改啊

  • 写回答

1条回答 默认 最新

  • puzzle55 2017-05-06 15:22
    关注

    --顶层设计文件
    LIBRARY IEEE;
    USE IEEE.STD_LOGIC_1164.ALL;
    USE IEEE.STD_LOGIC_ARITH.ALL;
    USE IEEE.STD_LOGIC_UNSIGNED.ALL;

    entity PCM is
    port(FRHB,FRLB:in std_logic_vector(7 downto 0);
    DATA: in std_logic_vector(7 downto 0);
    clk,clr : in std_logic;
    DATAOUT:out std_logic;
    ADRESS:out std_logic_vector(5 downto 0);
    ADC:out std_logic;
    DIGITAL:out std_logic);
    end PCM;

    architecture behave of PCM is
    component mux24_8b
    PORT(FRHB:in std_logic_vector(7 downto 0);--同步字的高位
    FRLB: in std_logic_vector(7 downto 0);--同步字的低位
    DATA: in std_logic_vector(7 downto 0);--数据
    A,B: in std_logic;--选择控制位,B为高位
    Y:out std_logic_vector(7 downto 0));
    end component;

    component mux8_1b
       PORT(D: in std_logic_vector(7 downto 0);
            a,b,c: in std_logic;
            y:out std_logic);
    end component;
    
    component D_chufa
       PORT(CLK: in std_logic;
            D: in std_logic;
            Q: out std_logic);
    end component;
    
    component freq_div
        PORT(CLK:IN STD_LOGIC;
            CLKOUT:OUT STD_LOGIC);
    end component;
    
    component cnt3--位计数器
        port(clk,clr:in std_logic;
             Y1,Y2,Y3 :out std_logic);
    end component;
    
    component S_cnt--字计数器
        port(clk,clr:in std_logic;
             count:out std_logic_vector(5 downto 0));--64个通道
    end component;
    
    component dec6to4 --译码器
        port(adr:in std_logic_vector(5 downto 0);--帧中字的地址
            B,C,D,E:out std_logic);--B,C为同步字和数据的选择信号,C为高位
                                    --D为模拟通道片选,E为数字通道片选
    end component;
    
    --模块内部各个模块之间连接信号
    signal dec6tomux24A,dec6tomux24B : std_logic;   --译码器和24选8数据选择器之间的信号
    signal mux24tomux8: std_logic_vector(7 downto 0);--24选8数据选择器和8选1数据选择器之间的信号
    signal cnt3tomux8Y1,cnt3tomux8Y2,cnt3tomux8Y3 : std_logic;--位计数器和8选1数据选择器之间的信号
    signal mux8toDFF: std_logic;--8选1数据选择器和D触发器之间的信号
    signal dvfclk:std_logic;--分频之后的信号
    signal scntTodec:std_logic_vector(5 downto 0);--位计数器和译码器之间的信号
    
    begin
    
       U1:mux24_8b port map(FRHB=>FRHB,FRLB=>FRLB,DATA=>DATA,A=>dec6tomux24A,
                                B=>dec6tomux24B,Y=>mux24tomux8);
       U2:mux8_1b port map(D=>mux24tomux8,a=>cnt3tomux8Y1,b=>cnt3tomux8Y2,
                            c=>cnt3tomux8Y3,y=>mux8toDFF);
       U3:D_chufa  port map(CLK=>dvfclk,D=>mux8toDFF,Q=>DATAOUT);
    
       U4:freq_div  port map(CLK=>clk,CLKOUT=>dvfclk);
    
       U5:cnt3  port map(clk=>dvfclk,clr=>clr,Y1=>cnt3tomux8Y1,Y2=>cnt3tomux8Y2,Y3=>cnt3tomux8Y3);
    
       U6:S_cnt  port map(clk=>cnt3tomux8Y3,clr=>clr,count=>scntTodec);--用位计数器来触发字计数器
    
       U7:dec6to4  port map(adr=>scntTodec,B=>dec6tomux24A,C=>dec6tomux24B,
                                D=>ADC,E=>DIGITAL);
    
       ADRESS<=scntTodec;
    

    end behave;

    评论

报告相同问题?

悬赏问题

  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备