- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
EDA技术与应用
实验报告
实验名称:
并行乘法器
姓名:
学号:
班级:
通信
时间:
2013
南京理工大学紫金学院电光系
实验目的
1、学习包集和元件例化语句的使用。
2、学习FLU(全加器单元)电路的设计。
3、学习并行乘法电路的设计。
实验原理
并行乘法器的电路原理图如下图所示,主要由全加器和与门构成。
并行乘法器原理图
实验内容
and_2
libraryieee;
useieee.std_logic_1164.all;
entityand_2is
port(a,b:instd_logic;
y:outstd_logic);
endand_2;
architectureand_2ofand_2is
begin
y=aandb;
endand_2;
componentlower_rowis
port(sin,cin:instd_logic_vector(2downto0);
p:outstd_logic_vector(3downto0));
endcomponent;
endmy_components;
multiplier
libraryieee;
useieee.std_logic_1164.all;
usework.my_components.all;
entitymultiplieris
port(a,b:instd_logic_vector(3downto0);
prod:outstd_logic_vector(7downto0));
endmultiplier;
architecturestructuralofmultiplieris
typematrixisarray(0to3)of
std_logic_vector(2downto0);
signals,c:matrix;
begin
U1:componenttop_rowportmap(a(0),b,s(0),c(0),
prod(0));
U2:componentmid_rowportmap(a(1),b,s(0),c(0),s(1),
c(1),prod(1));
U3:componentmid_rowportmap(a(2),b,s(1),c(1),s(2),
c(2),prod(2));
U4:componentmid_rowportmap(a(3),b,s(2),c(2),s(3),
c(3),prod(3));
U5:componentlower_rowportmap(s(3),c(3),
prod(7downto4));
endstructural;
8、仿真
9、把multiplier代码改为百位、十位、个位输出代码如下:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
usework.my_components.all;
entitymultiplieris
port(a,b:instd_logic_vector(3downto0);
hun,ten,one:outstd_logic_vector(3downto0));
endmultiplier;
architecturestructuralofmultiplieris
typematrixisarray(0to3)of
std_logic_vector(2downto0);
signals,c:matrix;
signalp:std_logic_vector(7downto0);
begin
U1:componenttop_rowportmap(a(0),b,s(0),c(0),
p(0));
U2:componentmid_rowportmap(a(1),b,s(0),c(0),s(1),
c(1),p(1));
U3:componentmid_rowportmap(a(2),b,s(1),c(1),s(2),
c(2),p(2));
U4:componentmid_rowportmap(a(3),b,s(2),c(2),s(3),
c(3),p(3));
U5:componentlower_rowportmap(s(3),c(3),
文档评论(0)