新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 可編程邏輯在數字信號處理系統中的應用

        可編程邏輯在數字信號處理系統中的應用

        作者: 時間:2012-08-28 來源:網絡 收藏

        LIBRARY IEEE;

        USE IEEE.STD_LOGIC_1164.ALL;

        USE IEEE.STD_LOGIC_UNSIGNED.ALL;

        ENTITY ADDER8B IS

        PORT (CIN:IN STD_LOGIC;

        A :IN STD_LOGIC_VECTOR(7 DOWNTO 0);

        B :IN STD_LOGIC_VECTOR(7 DOWNTO 0);

        S :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);

        OUT :OUT STD_LOGIC);

        END ADDER8B;

        ARCHIteCTURE struc OF ADDER8B IS

        COMPONENT ADDER4B

        PORT (CIN4: IN STD_LOGIC;

        A4 : IN STD_LOGIC_VECTOR(3 DOWNTO 0);

        B4 :IN STD_LOGIC_VECTOR(3 DOWNTO 0);

        S4 : OUT ST_D_LOGIC_VECTOR(3 DOWN-TO 0);

        COUT4 : OUT STD_LOGIC);

        END COMPONENT;

        SIGNAL CARRY_OUT : STD_LOGIC;

        BEGIN

        U1:ADDER4B

        PORT MAP(CIN4=>CIN,A4=>A(3 DOWNTO 0),B4=>B(3 DOWNTO 0),S4=>S(3 DOWNTO 0),COUT4=>CARRY_OUT);

        U2 :ADDER4B

        PORT MAP(CIN4=>CARRY_OUT,A4=>A(7 DOWNTO 4),B4=>B(7 DOWNTO 4),S4=>S(7 DOWNTO 4),COUT4=>COUT);

        END struc;

        在上面的VHDL描述中,ADDER4B是一個4位二進制加法器,其VHDL描述是:

        LIBRARY IEEE;

        USE IEEE.STD_LOGIC_1164.ALL;

        USE IEEE.STD_LOGIC_UNSIGNED.ALL;

        ENTITY ADDER4B IS

        PORT (CIN4 :IN STD_LOGIC;

        A4 :IN STD_LOGIC_VECTOR(3 DOWNTO 0);

        B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

        S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

        COUT4:OUT STD_LOGIC;

        EAND ADDER4B;

        ARCHITEC_TURE behav OF ADDER4B IS

        SIGNAL SINT :STD_LOGIC_VECTOR(4 DOWNTO 0);

        SIGNAL AA,BB:STD_LOGIC_VECTOR(4 DOWNTO 0);

        BEGIN

        AA=‘0’A4;

        BB=‘0’B4;

        SINT=AA+BB+CIN4;

        S4=SINT(3 DOWNTO 0);

        COUT4=SINT(4);

        END behav;

        4、結束語

        本文采用基于EDA技術的自上而下的系統設計方法,其設計流程如圖2所示。該乘法器的最大優點是節省芯片資源,其運算速度取決于輸入的時鐘頻率。如若時鐘頻率為100MHz,則每個運算周期僅需80ns,因而具有一定的實用價值。


        圖2 VHDL設計流程


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 朝阳区| 福贡县| 屏东市| 闽清县| 依兰县| 乌兰察布市| 涡阳县| 西昌市| 达拉特旗| 玉林市| 台南县| 大石桥市| 汉川市| 武隆县| 台山市| 瑞丽市| 简阳市| 大邑县| 太康县| 临澧县| 上蔡县| 赤峰市| 青铜峡市| 香格里拉县| 广汉市| 赣榆县| 阿克陶县| 天全县| 武邑县| 天峨县| 龙胜| 临颍县| 贡觉县| 常德市| 临漳县| 莱芜市| 冕宁县| 左贡县| 子长县| 广河县| 大同市|