quartusII软件做4的位乘法器设计vhdl语言.docx

上传人:b****5 文档编号:6074995 上传时间:2023-01-03 格式:DOCX 页数:8 大小:514.90KB
下载 相关 举报
quartusII软件做4的位乘法器设计vhdl语言.docx_第1页
第1页 / 共8页
quartusII软件做4的位乘法器设计vhdl语言.docx_第2页
第2页 / 共8页
quartusII软件做4的位乘法器设计vhdl语言.docx_第3页
第3页 / 共8页
quartusII软件做4的位乘法器设计vhdl语言.docx_第4页
第4页 / 共8页
quartusII软件做4的位乘法器设计vhdl语言.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

quartusII软件做4的位乘法器设计vhdl语言.docx

《quartusII软件做4的位乘法器设计vhdl语言.docx》由会员分享,可在线阅读,更多相关《quartusII软件做4的位乘法器设计vhdl语言.docx(8页珍藏版)》请在冰豆网上搜索。

quartusII软件做4的位乘法器设计vhdl语言.docx

quartusII软件做4的位乘法器设计vhdl语言

quartus-II-软件做4的位乘法器设计(vhdl-语言)

用quartusII软件设计4位乘法器

1.并行乘法的算法:

下面根据乘法例题来分析这种算法,题中M4,M3,M2,M1是被乘数,用M表示。

N4,N3,N2,N1是乘数,用N表示

2.乘法模块

Libraryieee;

Useieee.std_logic_1164.all;

Useieee.std_logic_unsigned.all;

Entityand4ais

Port(a:

instd_logic_vector(3downto0);

en:

instd_logic;

r:

outstd_logic_vector(3downto0));

Endand4a;

Architecturebehaveofand4ais

Begin

Process(en,a(3downto0))

Begin

If(en='1')then

r<=a;

Else

r<="0000";

Endif;

Endprocess;

Endbehave;

 

3.加法模块

Libraryieee;

Useieee.std_logic_1164.all;

Useieee.std_logic_unsigned.all;

Entityls283is

Port(o1,o2:

instd_logic_vector(3downto0);

res:

outstd_logic_vector(4downto0));

Endls283;

Architecturebehaveofls283is

Begin

Process(o1,o2)

Begin

res<=('0'&o1)+('0'&o2);

Endprocess;

Endbehave;

 

4.主程序

Libraryieee;

Useieee.std_logic_1164.all;

Useieee.std_logic_unsigned.all;

Entitymul4pis

Port(op1,op2:

instd_logic_vector(3downto0);

result:

outstd_logic_vector(7downto0));

Endmul4p;

Architecturecountofmul4pis

componentand4aport(a:

instd_logic_vector(3downto0);

en:

instd_logic;

r:

outstd_logic_vector(3downto0));

Endcomponent;

Componentls283port(o1,o2:

instd_logic_vector(3downto0);

res:

outstd_logic_vector(4downto0));

Endcomponent;

Signalsa:

std_logic_vector(3downto0);

Signalsb:

std_logic_vector(4downto0);

Signalsc:

std_logic_vector(3downto0);

Signalsd:

std_logic_vector(4downto0);

Signalse:

std_logic_vector(3downto0);

Signalsf:

std_logic_vector(3downto0);

Signalsg:

std_logic_vector(3downto0);

--signaltmp1:

std_logic;

Begin

sg<=('0'&sf(3downto1));

--tmp1<=op1

(1);

u0:

and4aportmap(a=>op2,en=>op1

(1),r=>se);

U1:

and4aportmap(a=>op2,en=>op1(3),r=>sa);

U2:

ls283portmap(o1=>sb(4downto1),o2=>sa,res=>result(7downto3));

U3:

and4aportmap(a=>op2,en=>op1

(2),r=>sc);

U4:

ls283portmap(o1=>sc,o2=>sd(4downto1),res=>sb);

u5:

ls283portmap(o1=>sg,o2=>se,res=>sd);

u6:

and4aportmap(a=>op2,en=>op1(0),r=>sf);

result(0)<=sf(0);

result

(1)<=sd(0);

result

(2)<=sb(0);

--result(7downto0)<="00000000";

Endcount;

5.仿真波形图

 

6.引脚分配图

 

7.硬件下载编程与硬件实现

在实现硬件测试时,选择8个按键作为4个数据的输入信号,用8个LED灯作为运算结果数据输出指示,每4个数作为一个二进制数值,通过LED灯的亮灭来显示乘法的运算结果。

加油哦!

开心每一天!

(*^__^*)……

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1