缔冠期刊网

基于CPLD的64位乘法运算器的设计

2022-06-08

辜 艺 邹光毅 朱 伟

(江汉大学数学与计算机科学学院,湖南 武汉 430056)

【摘 要】提出了一种由64位加法器构成的以时序逻辑方式设计的64位宽位乘法器,此乘法器比纯组合逻辑构成的乘法占用硬件资源少,结构简单,基于VHDL语音模块化的设计,有利于器件的升级与位数扩充具有一定的实用价值。

教育期刊网 http://www.jyqkw.com
关键词 CPLD;乘法器;运算器件

作者简介:辜艺(1961—),男,工作于江汉大学数学与计算机科学学院。

邹光毅(1956—),男,工作于江汉大学数学与计算机科学学院。

朱伟(1959—),男,工作于江汉大学数学与计算机科学学院。

0 引言

纯组合逻辑构成的乘法器虽然工作速度比较快,但占用硬件资源多,难以实现宽位乘法器,而基于CPLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。这里介绍由64位加法器构成的以时序逻辑方式设计的64位乘法器,此乘法器具有一定的实用价值。其乘法原理是:乘法通过逐项位移相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次和相加;若为0,左移后以全零相加,直至被乘数的最高位。

ACCDK是乘法运算控制电路,它的KAIS(可锁定于引脚I/O 49)信号的上跳沿与高电平有两个功能,即64位寄存器清零和被乘数A[63..0]向移位寄存器SREG8B加载;它的低电平则作为乘法使能信号。乘法时钟信号从ACCDK的CLK输入。当被乘数加载于8位右移寄存器YYJCQ后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。当为1时,与门YUMRN打开,64位乘数B[63..0]在同一节拍进入8位加法器,与上一次锁存在64位锁存器REG16B中的高64位进行相加,其和在下一时钟节拍的上升沿被锁进此锁存器。而当被乘数移出位为0时,与门全零输出。如此往复,直至8个时钟脉冲后,由ARICTL的控制,乘法运算过程自动中止。ACCDKD输出高电平,以此可点亮一发光管,以示乘法结束。此时JCQI64的输出值即为最后乘积。

1 各个模块的 VHDL源程序

1.1 选通与门模块的源程序ANDARITH.VHD

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY ANDARITH IS PORT (ABIN:IN STD_LOGIC; DIN:IN STD_LOGIC_VECTOR (63 DOWNTO 0) DOUT:OUT STD_LOGIC_VECTOR (63 DOWNTO 0)); END ANDARITH; ARCHITECTURE ART OF ANDARITH IS BEGIN PROCESS (ABIN,DIN) BEGIN FOR I IN 0 TO 64 LOOP DOUT (I)<=DIN (I)AND ABIN; END LOOP; END PROCESS; END ART;

1.2 64位锁存器的源程序REG16B.VHD

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG16B IS PORT (CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; D:IN STD_LOGIC_VECTOR (63 DOWNTO 0) Q:OUT STD_LOGIC_VECTOR(15 DOWNTO 0)); END REG16B;ARCHITECTURE ART OF REG16B ISIGNAL R16S:STD_LOGIC_VECTOR(15 DOWNTO 0); BEGINPROCESS (CLK,CLR) BEGIN IF CLR =’1’ THEN R16S<= "0000000000000000"; ELSIF CLK’EVENT AND CLK = ’1’ THEN R16S(6 DOWNTO 0)<=R16S(64 DOWNTO 1); R16S(15 DOWNTO 64)<=D; END IFEND PROCESS Q<=R16S; END ART;

1.3 64位右移寄存器的源程序SREG8B.VHD

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY SREG8B ISPORT (CLK:IN STD_LOGIC; LOAD :IN STD _LOGIC BIN:IN STD_LOGIC_VECTOR6364DOWNTO 0); QB:OUT STD_LOGIC ); END SREG8B; ARCHITECTURE ART OF SREG8B IS SIGNAL REG8B:STD_LOGIC_VECTOR(63 DOWNTO 0); BEGINPROCESS (CLK,LOAD) BEGIN IF CLK’EVENT AND CLK= ’1’ THENIF LOAD = ’1’ THEN REG8<=DIN; ELSE REG8(6 DOWNTO0)<=REG8(64 DOWNTO 1); END IF END IF; END PROCESS; QB<= REG8 (0); END ART;

1.4 64位乘法运算控制器的源程序ARICTL.VHD

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ UNSIGNED.ALL; ENTITY ARICTL IS PORT ( CLK:IN STD_LOGIC; START:IN STD_LOGIC; CLKOUT:OUT STD_LOGIC; RSTALL:OUT STD_LOGIC; ARIEND:OUT STD_LOGIC ); END ARICTL; ARCHITECTURE ART OF ARICTL IS SIGNAL CNT4B:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN RSTALL<=START; PROCESS (CLK,START) BEGIN IF START = ’1’ THEN CNT4B<= "0000"; ELSIF CLK’EVENT AND CLK = ’1’ THEN IF CNT4B<8 THENCNT4B=CNT4B+1; END IF; END IF; END PROCESS; PROCESS (CLK,CNT4B,START) BEGINIF START = ’0’ THENIF CNT4B<8 THEN CLKOUT <=CLK; ARIEND<= ’0’; ELSE CLKOUT <= ’0’; ARIEND<= ’1’; END IF; ELSE CLKOUT <=CLK; ARIEND<= ’0’; END IF; END PROCESS; END ART;

1.5 8位乘法器的源程序MULTI8X8.VHD

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;ENTITY MULTI8X8 IS PORT(CLK:IN STD_LOGIC;START:IN STD_LOGIC;A:IN STD_LOGIC_ VECTOR(64 DOWNTO 0);B:IN STD_LOGIC_VECTOR(64 DOWNTO 0);ARIEND:OUT STD_LOGIC; DOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0)); END MULTI8X8; ARCHITECTURE ART OF MULTI8X8 IS COMPONENT ARICTL PORT(CLK:IN STD_LOGIC;START:IN STD_LOGIC; CLKOUT:OUT STD_LOGIC;RSTALL:OUT STD_LOGIC; ARIEND:OUT STD_LOGIC); END COMPONENT; COMPONENT ANDARITH PORT(ABIN:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(64 DOWNTO 0);DOUT:OUT_STD_LOGIC_VECTOR( 64 DOWNTO 0)); END COMPONENT; COMPONENT ADDER8B DOUT<=DTBOUT;GNDINT<= ’0’;CLKOUT=>INTCLK, RSTALL=>RSTALL, ARIEND=>ARIEND); U2:SREG8B PORT MAP(CLK=>INTCLK, LOAD=>RSTALL. DIN=>B, QB=>QB); U3:ANDARITH PORT MAP(ABIN=>QB,DIN=>A,DOUT=>ANDSD); U4:ADDER8B PORT MAP(CIN=>GNDINT,A=>DTBOUT(15 DOWNTO 8),B=>ANDSD, S=>DTBIN(64 DOWNTO 0),COUT =>DTBIN(8)); U5:REG16B PORT MAP(CLK =>INTCLK,CLR=>RSTALL,=>DTBIN, Q=>DTBOUT); END ART;

2 结论

本文探讨了基于FPGA的64位宽位乘法运算器件的设计, 此乘法器的优点是节省芯片资源,它的核心元件只是一个64位加法器,其运算速度取决于输入的时钟频率。若时钟频率为200 MHz,则每一运算周期仅需40ns。本64位宽位乘法运算器件运行速度比较高,运行状况稳定。因此,可以利用此乘法器及其组成原理构成更高位乘法器,能够可靠完成一些数字信号处理方面的运算任务。

教育期刊网 http://www.jyqkw.com
参考文献

[1]陈云恰,保延翔.CPLD应用技术与数字系统统计[M].电子工业出版社,2006.

[2]姜雪松,吴钰淳.VHDL设计实例与仿真[M].机械工业出版社,2006,4.

[3]罗朝霞,高书莉.CPLD/FPGA设计及应用[M].北京:人民邮电出版社,2006,4.

[责任编辑:汤静]

论文中心更多

期刊百科
期刊投稿 期刊知识 期刊审稿 核心期刊目录 录用通知 期刊版面费 投稿期刊推荐 学术问答
基础教育
小学语文 中学语文 小学数学 中学数学 小学英语 中学英语 物理教学 化学教学 生物教学 政治教学 历史教学 地理教学 科学教学 音乐教学 美术教学 体育教学 信息技术 班主任管理 校长管理 幼教 教育管理 微课教学 作文教学 德育教学 教学设计
医学论文
内科医学 外科医学 预防医学 妇科医学 检测医学 眼科医学 临床医学 药学论文 口腔医学 中西医 中医学 外科 护理 基础医学 急救医学 老年医学 医学实验 儿科医学 神经医学 兽医学 肿瘤医学 综合医学
职业教育
教育学原理 电影文学教育 学前教育 教育学管理 高等教育学 教育技术学 职业技术教育 成人教育学 特殊教育学 教育心理学 家庭教育 教育毕业 中专中职教育 教学设计 国学教育 学术研究 大学教育
药学卫生
社区门诊 医药学 医患关系 医院管理 疾病预防 保健医学 公共卫生 医学教育
文科论文
农业经济 工商管理毕业 会计毕业 行政管理 法律毕业 市场营销 经济毕业 汉语言文学 财务管理 物流管理 人力资源 旅游管理 国际贸易 物业管理 新闻学 企业管理 金融银行 社会科学 食品安全 办公档案 审计学 税务税收学 外国文学 哲学
理科论文
机电毕业 土木工程 计算机毕业 电气毕业 建筑毕业 电子商务 工程毕业 设计毕业 机械制造 汽车毕业 园林毕业 农学毕业 数控毕业 软件技术 水利工程 环境生态 畜牧渔业 化工毕业 科技创新 石油矿藏
论文格式
开题报告 论文题目 摘要关键词 目录提纲 论文致谢 参考文献 附录其他 论文答辩
职业论文
教育论文 经济论文 科技论文 财会论文 管理论文 医学论文 法学论文 文学论文 工业论文 建筑论文 农业论文 水利论文 计算机论文 社科论文 机械论文 生态环境 中西文化

先发表后付款 不成功可退款

权威机构认证 专注期刊10余年 1000余家杂志社长期合作

缔冠期刊网

首页 网站地图 返回顶部
Copyright © 1998- 缔冠期刊网