当前位置:首页 > 工业控制 > 电子设计自动化
[导读]1 引言 随着半导体技术的发展,可编程逻辑器件在结构、工艺、集成度、功能、速度和灵活性等方面有了很大的改进和提高,从而为高效率、高质量、灵活地设计数字系统提供了可靠性。CPLD或FPGA技术的出现,为DSP系统的设

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位加法器,其运算速度取决于时钟频率。

乘法器的系统组成框图



图1是该乘法器的系统组成框图

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,因而具有一定的实用价值。

设计流程图



图2 设计流程图



参考文献:

[1].CPLDdatasheethttp://www.dzsc.com/datasheet/CPLD_1136600.html.


来源:ks990次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

可编程电源指某些功能或参数可以通过计算机软件编程进行控制的电源。可编程电源的实现方法有很多种。其中,现场可编程门阵列(Field ProgrammableGate Array,FPGA)具有性能好,规模大,可重复编程,开...

关键字: FPGA器件 可编程 电源

可编程电源是计算机硬件中不可缺少的一部分,其作用是将计算机的各部件按照预先设置好的程序运行,从而实现对计算机进行各种操作。

关键字: 厂商 可编程 电源芯片

随着时代的进步,各种电器和仪表设备也日渐丰富,目前对电源应用的灵活性提出了更高的要求。设计一款使用灵活、方便且价格相对便宜的通用电源,正是市场所需。

关键字: 可编程 电源 电压波形

可编程任意电源就是某些功能或参数可以通过计算机软件编程控制的电源。比如设置输出电压是多少,最大输出电流是多少,超过这个值则不能正常供电等等。

关键字: 可编程 电源 软件编程

用电路元件符号表示电路连接的图,叫电路图。电路图是人们为研究、工程规划的需要,用物理电学标准化的符号绘制的一种表示各元器件组成及器件关系的原理布局图

关键字: 可编程 电源 器件

可编程逻辑器件 英文全称为:programmable logic device 即 PLD。PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。

关键字: 可编程 逻辑 器件

研究人员将磷化铟的发光属性和硅的光路由能力整合到单一混合芯片中。当给磷化铟施加电压的时候,光进入硅片的波导,产生持续的激光束,这种激光束可驱动其他的硅光子器件。

关键字: 可编程 光子 芯片

宽带智能网,是研究在以atm为基础的宽带网络上利用智能网技术如何开发各种多媒体业务。宽带智能网不是简单地将多种业务集成,它的目的是要实现一个可编程的业务平台,实现业务的灵活加载、扩展和新业务的增加。与以往的业务提供方式不...

关键字: 宽带 客户化 可编程

在这篇文章中,小编将为大家带来ADI基带可编程VGA滤波器ADRF6520的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 滤波器 VGA 可编程

中国 北京,2021年5月20日——Qorvo推出公司首款恒定导通时间 (COT) 可编程电源管理 IC (PMIC),在 3.8 x 3.8 mm 封装中具有 13个通道的电压轨和 25A 全输出功率。

关键字: Qorvo 可编程 PMIC SSD
关闭
关闭