资料介绍
1 引言
随着半导体技术的发展,可编程逻辑器件在结构、工艺、集成度、功能、速度和灵活性等方面有了很大的改进和提高,从而为高效率、高质量、灵活地设计数字系统提供了可靠性。CPLD或FPGA技术的出现,为DSP系统的设计又提供了一种崭新的方法。利用CPLD或FPGA设计的DSP系统具有良好的灵活性和极强的实时性。同时,其价格又可以被大众接受。由于乘法器在数字信号处理系统中具有广泛的应用,所以本文以乘法器的处理系统中具有广泛的应用,所以本文以乘法器的设计为例,来说明采用可编程逻辑器件设计数字系统的方法。如果想使系统具有较快的工作速度,可以采用组合逻辑电路构成的乘法器,但是,这样的乘法器需占用大量的硬件资源,因而很难实现宽位乘法器功能。本文这种用于序逻辑电路构成的乘法器,既节省了芯片资源,又能满足工作速度及原理的要求,因而具有一定的实用价值。
2 系统构成
该乘法器通过逐项移位相加来实现乘法功能。它从被乘数的最低开始,若为1,则乘数左移后再与上一次的和相加;若为0,左移后与0相加,直到移到被乘数的最高位。图1是该乘法器的系统组成框图。该控制模块的STAR输入有两个功能:第一个功能是将16位移位寄存器清零和被乘数A[7…0]向8位移位寄存器加载;第二个功能为输入乘法使能信号。乘法时钟信号从CLK输入,当被乘数加载于8位移位寄存器后,它由低位到高位逐位移出,当QB=1时,选通模块打开,8位乘数B[8…0]被送入加法器,并与上一次锁存在16位锁存器中的高8位相加,其和在下一个时钟上升沿被锁存到锁存器内;当QB=0时,选通模块输出为全0。如此循环8个时钟脉冲后,由控制模块控制的乘法运算过程自动中止。该乘法器的核心元件是8位加法器,其运算速度取决于时钟频率。
3 加法器的实现
加法器的设计需要考虑资源利用率和进位速度这两个相互矛盾的问题,通常取两个问题的折衷。多位加法器的构成有并行进位和串行进位两方式,前者运算速度快,但需占用较多的硬件资源,而且随着位数的增加,相同位数的并行加法器和串行加法器的硬件资源占用差距快速增大。实践证明,4位二进制并行加法器和串行加法器占用的资源几乎相同,因此,由4位二进制并行加法器级联来构成多位加法器是较好的折衷选择。以下为由两个4位二进制并行加法器级联构成8位二进制加法器的 VHDL程序:
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,因而具有一定的实用价值。
随着半导体技术的发展,可编程逻辑器件在结构、工艺、集成度、功能、速度和灵活性等方面有了很大的改进和提高,从而为高效率、高质量、灵活地设计数字系统提供了可靠性。CPLD或FPGA技术的出现,为DSP系统的设计又提供了一种崭新的方法。利用CPLD或FPGA设计的DSP系统具有良好的灵活性和极强的实时性。同时,其价格又可以被大众接受。由于乘法器在数字信号处理系统中具有广泛的应用,所以本文以乘法器的处理系统中具有广泛的应用,所以本文以乘法器的设计为例,来说明采用可编程逻辑器件设计数字系统的方法。如果想使系统具有较快的工作速度,可以采用组合逻辑电路构成的乘法器,但是,这样的乘法器需占用大量的硬件资源,因而很难实现宽位乘法器功能。本文这种用于序逻辑电路构成的乘法器,既节省了芯片资源,又能满足工作速度及原理的要求,因而具有一定的实用价值。
2 系统构成
该乘法器通过逐项移位相加来实现乘法功能。它从被乘数的最低开始,若为1,则乘数左移后再与上一次的和相加;若为0,左移后与0相加,直到移到被乘数的最高位。图1是该乘法器的系统组成框图。该控制模块的STAR输入有两个功能:第一个功能是将16位移位寄存器清零和被乘数A[7…0]向8位移位寄存器加载;第二个功能为输入乘法使能信号。乘法时钟信号从CLK输入,当被乘数加载于8位移位寄存器后,它由低位到高位逐位移出,当QB=1时,选通模块打开,8位乘数B[8…0]被送入加法器,并与上一次锁存在16位锁存器中的高8位相加,其和在下一个时钟上升沿被锁存到锁存器内;当QB=0时,选通模块输出为全0。如此循环8个时钟脉冲后,由控制模块控制的乘法运算过程自动中止。该乘法器的核心元件是8位加法器,其运算速度取决于时钟频率。
3 加法器的实现
加法器的设计需要考虑资源利用率和进位速度这两个相互矛盾的问题,通常取两个问题的折衷。多位加法器的构成有并行进位和串行进位两方式,前者运算速度快,但需占用较多的硬件资源,而且随着位数的增加,相同位数的并行加法器和串行加法器的硬件资源占用差距快速增大。实践证明,4位二进制并行加法器和串行加法器占用的资源几乎相同,因此,由4位二进制并行加法器级联来构成多位加法器是较好的折衷选择。以下为由两个4位二进制并行加法器级联构成8位二进制加法器的 VHDL程序:
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,因而具有一定的实用价值。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 可编程逻辑器件PLD课件下载 31次下载
- 如何使用FPGA实现数字信号处理算法的研究 16次下载
- 如何使用DSP和CPLD进行语音处理系统的设计资料说明 6次下载
- 数字信号处理在数字化医疗仪器中的应用 8次下载
- 可编程逻辑的多媒体信号处理 0次下载
- DSPBuilder在数字信号处理中的应用 3次下载
- 基于DSP的数字信号采集处理系统设计 25次下载
- 基于FPGA进行可编程逻辑设计 14次下载
- 用于语音和音频应用的可编程混合信号数字信号处理器 4次下载
- 数字电子技术--可编程逻辑器件 0次下载
- 数字电子技术--可编程逻辑器件 0次下载
- Bootloader技术在数字信号控制器中的应用 32次下载
- 基于双数字信号处理器(DSP)的实时相关图像处理系统的设计 60次下载
- 基于ADSP2106X的高速并行雷达数字信号处理系统
- 基于FPGA的数字信号显示系统软硬件设计
- 什么是现场可编程逻辑阵列?它有哪些特点和应用? 479次阅读
- 频谱分析仪怎么测量数字信号 795次阅读
- 基于MATLAB的信号处理系统与分析 620次阅读
- 可编程片上系统是什么 435次阅读
- 可编程逻辑器件测试方法 1151次阅读
- 可编程逻辑器件和ASIC对比介绍 2587次阅读
- 利用可编程逻辑控制器CPLD实现数据采集系统的总体设计 1414次阅读
- 基于FPGA技术和AD9833芯片实现可编程遥测信号源的设计 3114次阅读
- 可编程逻辑控制器是什么_可编程逻辑控制器原理 1w次阅读
- 浅谈数字信号处理器的分类及选择 6156次阅读
- 可编程逻辑器件改变数字系统设计方法 1598次阅读
- 干货!使用嵌入式处理器对可编程逻辑器件重编程 1590次阅读
- 基于信号处理和嵌入式应用的音频处理系统的设计和实现 2174次阅读
- 数字信号处理技术的优点分析 1.1w次阅读
- 通过可编程逻辑来提高器件处理系统的性能 929次阅读
下载排行
本周
- 1新概念模拟电路第四册信号处理电路电子书免费下载
- 10.69 MB | 50次下载 | 免费
- 2SL6341B USB3.2 Gen1X1 接口的的4口HUB
- 2.94 MB | 5次下载 | 免费
- 3FT-7800R对讲机维修手册附原理图
- 3.35 MB | 2次下载 | 免费
- 4和芯润德USB3.0HUB芯片SL6341设计资料
- 2.58 MB | 2次下载 | 免费
- 5TPS80032原理图核对表
- 74.95KB | 2次下载 | 免费
- 6使用CR6850C设计并制作12V5A开关电源
- 1.53 MB | 2次下载 | 2 积分
- 7设计院eplan 500多页项目图纸
- 21.43 MB | 2次下载 | 1 积分
- 82.1 MHz类放大器电感选择指南
- 598.3KB | 1次下载 | 免费
本月
- 1新概念模拟电路第四册信号处理电路电子书免费下载
- 10.69 MB | 50次下载 | 免费
- 2SW6308V原理图设计指南
- 0.75 MB | 14次下载 | 1 积分
- 3SW6308V三口多协议升降压移动电源SOC中文手册
- 1.61 MB | 14次下载 | 1 积分
- 4纯电动汽⻋的主要部件及⼯作原理
- 5.76 MB | 12次下载 | 5 积分
- 5800VA纯正弦波逆变器的参考设计
- 2.96MB | 12次下载 | 免费
- 6GP328和GP88S对讲机的维修实列资料合集免费下载
- 0.03 MB | 10次下载 | 10 积分
- 7SW6308V寄存器手册
- 1.08 MB | 10次下载 | 1 积分
- 8IP5385_DEMO开发资料
- 1.96 MB | 8次下载 | 2 积分
总榜
- 1matlab软件下载入口
- 未知 | 935115次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191364次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183329次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73805次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65985次下载 | 10 积分
评论
查看更多