- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用robei学会ALU设计精选
四ALU设计
1.实验目的
ALU(算数逻辑单元)是CPU的基本组成部分。实验要求掌握算术逻辑运算加、减操作原理,验证运算器的组合功能。2.实 ALU的基本结构如图2-4-1所示。我们所设计的ALU要实现最基本的加减运算,与或非和异或等功能。
图2-4-1 ALU基本结构(1)加法运算包含2种类型,一种是不带进位的加法器,另外一种是带进位的加法器。不带进位的加法器的公式:
(1)
带进位的可以进行加法器级联,实现更高位数的串行加法运算。带进位的加法器的公式:
(2)
(2)减法运算也包含2种类型。不带借位的减法运算:
(3)
带借位的减法运算:
(4)
3.实设计一个8位ALU,并能实现数据与,或,非,异或,不带进位加法,带进位加法,不带借位减法和带借位减法运算。运算符采用3比特表示。A,B,R 均为8比特数据。用测试文件测试你的ALU功能,并用级联方式将4个8比特的ALU实现32 比特的ALU。
4.实验内容
ALU模新建一个模型命名为alu,类型为module,同时具备4输入2输出。每个引脚的属性和名称参照图2-4-2进行对应的修改。
图2-4-2 引脚属性
图2-4-3 ALU界面图
添加代码。点击模型下方的Code(如图2-4-4所示)添加代码。
图2-4-4 点击Code输入算法
Verilog代码:
always @ (A or B or op or F)
case ( op )
3b000: {D,R}=AB; //实现与运算
3b001: {D,R}=A|B //实现或运算
3b010: {D,R}=~A //实现非运算
3b011: {D,R}=A^B //实现异或运算
3b100: {D,R}=A+B //实现不带进位的加运算
3b101: {D,R}=A+B+F //实现带进位的加运算
3b110: {D,R}=A-B //实现不带借位的减运算
3b111: {D,R}=A-B-F //实现带借位的减运算
default: {D,R}=AB // 默认为与运算
endcase
保存模型到一个文件夹中,运行并检查有无错误输出。
4.测新建一个4输入2输出的测试文件,记得将Module Type设置为testbench”各个引脚配置如图2-4-5所示。
图2-4-5 新建测试文件
另存为测试文件。将测试文件保存到alu模型所在的文件夹下。
加入模型。在Toolbox工具箱的Current栏里,会出现一个alu模型,单击该模型并在alutest上添加,并连接引脚。
图2-4-6 添加模型
输入激励。点击测试模块下方的Code”,输入激励算法。激励代码在结束的时候要用$finish 结束。
initial begin
a=0
b=0;
op=0;
cin=0;
#1
a=3;
b=1;
op=0;
#1
a=2;
b=1;
op=1;
#1
a=255;
b=0;
op=2;
#1
a=5;
b=6;
op=3;
#1
a=128;
b=128;
op=4;
#1
a=4;
b=5;
cin=1;
op=5;
#1
a=4;
b=5;
op=6;
#1
a=4;
b=5;
op=7;
#1
a=4;
b=5;
op=0;
#1
$finish;
end
图2-4-7 激励代码执行仿真并查看波形。查看输出信息。检查没有错误之后查看波形。点击右侧Workspace中的信号,进行添加并查看分析仿真结果。对照真值表,查看设计波形输入输出是否一致。
图2-4-8 查看波形
32位ALU设计
我们利用8位的ALU级联来设计一个32位的ALU,这个实验需要先行注册Robei,否则不能进行仿真。
创建一个新的模型,添加10个输入引脚,5个输出引脚,各个引脚的配置如图4-9所示。保存到alu模型所在的文件夹。
图2-4-9 32位ALU引脚添加4个ALU连接引脚。如图4-10所示。4个8位的ALU进行级联,第一个输出的D连到下一级的F,最终的ALU的D连接到顶层的D引脚。第一个ALU的F连接到顶层模块的F。op都连接到顶层的op引脚上,A,B和R按照高低位进行连接。这样输入A3A2A1A0B3B2B1B0和R3R2R1R0分别是32位ALU的输入和输出端。
图2-4-10 32位ALU设计图创建一个测试文件,10个输入引脚5个输出,按照图4-11进行引脚配置并保存到与alu32bit模型同一个文件下。
图2-4-1
您可能关注的文档
最近下载
- 180°剥离力测试规范.doc VIP
- 行政执法人员资格认证通用法律知识考试单选题.docx VIP
- PP料 MSDS 物质安全表.pdf VIP
- 2025下半年高级软件水平考试(系统规划与管理师)案例分析真题及解析.pdf VIP
- 2025至2030全屋定制家具行业市场深度研究与战略咨询分析报告.docx VIP
- 福建省工会系统经审业务技能竞赛知识题库及答案(1692题).docx VIP
- 变电站脚手架专项施工方案.pdf VIP
- 道闸维修合同协议.docx VIP
- 16MR607 城市道路─节能环保型聚氯乙烯市政护栏.docx VIP
- 第一单元 100以内数加与减(二)教案-2025-2026学年北师大版二年级数学上册.pdf VIP
文档评论(0)