Verilog课程设计2003版.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Verilog课程设计2003版

8.同或逻辑运算(控制信号【2:0】opcode=111) 硬件验证 (DE2) (1)初始状态 (2)取A值 (3)取B值 (4)加法运算 (5)减法运算 (6)与逻辑运算 (7)或逻辑运算 (8)异或逻辑运算 (9)同或逻辑运算 引脚图 结束语 两个多星期的课程设计是辛苦的,是充满智慧的汗水的。我选到的课题是8位ALU设计,刚开始的时候,是一头雾水,无从下手,然后翻阅书籍和上网了解,才渐渐明白ALU是个什么,然后构建框图,设计模块,最终历时一个星期完成设计,完成之初,开心之余也发现了不足和需要改进的地方,比如A,B值不能直接显示,需要自己记忆,还有进位,输出值超过0xff无法显示的,运算能力较少只有加减与或的问题。然后又进过几天的改进,最终,可以数码管显示A,B值,和最终运算结果的值,可以讲输出改成9位,即可解决溢出的问题,然后加上了与或,同或的计算能力,我觉得可以赋予更多的逻辑计算能力,或非,与非等等。 通过这次课程设计,学到了很多,对于VerilogHDL的更加掌握,和层次化设计的运用,也得到一定的提高。 南通大学 电子信息学院 集成092 邱小健 0911002184 一、设计概述 介绍了一种基于可编程逻辑器件FPGA和硬件描述语言的8位的ALU的设计方法。该ALU采取层次设计方法,有寄存器模块,控制模块和示模块组成,能实现8位无号数的取值,加减,和4种逻辑运算,与,或,异或,同或。该ALU在QuartusII软件环境下进行了功能仿真,通过DE2验证表明,所设计的ALU完全正确,可供直接调用。 二、设计功能:8位ALU设计 1)本设计要求该处理器的数据宽度是8bit,可以实现算术加法、算术减法、逻辑与、逻辑或、逻辑非、逻辑与非、逻辑或非和逻辑异或等8 种运算。 2)用选择端[2:0] opcode选择8种运算,2个操作数分别是[7:0]a_r和[7:0]b_r,运算结果是 [7:0]alu_out; 并定义当选择端为000为取A的值、001为取B的值、010为算术加法、011为算术减法、100为逻辑与、101为逻辑或、110为逻辑异或、111为逻辑同或。 3)使用DE-2板上的3个拨码开关要来设置当前ALU的运算功能,再由8个拨码开关给定数据A和数据B,由一个按键key手动提供脉冲。 三、设计方案 设计说明 本设计共有5个模块组成,包括: 1)脉冲输出器(key手动脉冲),计数依次产生四个脉冲到各个部件,第一个脉冲启动信号; 2)寄存器A,第二个脉冲来时锁存数据A,并在数码管上显示; 3)寄存器B,第三个个脉冲来时锁存数据B,并在数码管上显示; 4)8位ALU,;第四个脉冲来时进行运算,并所存结果aluout; 5)结果显示器,将结果显示在DE2板上的数码管上。 RTL视图 (1)顶层模块 module final_alu8(clk,clk_r,rst,a,b,alu_out,opcode,sw_ab,HEX1,HEX0,HEX7,HEX6,HEX5,HEX4); input clk,rst,clk_r; input [7:0]sw_ab; input [2:0]opcode; output [6:0]HEX1,HEX0,HEX7,HEX6,HEX5,HEX4; output [7:0]a; output [7:0]b; output [7:0]alu_out; rega U1(.clk(clk),.rst(rst),.sw_ab(sw_ab),.a_r(a),.clk_r(clk_r),.HEX7(HEX7),.HEX6(HEX6)); Regb U2(.clk(clk),.rst(rst),.sw_ab(sw_ab),.b_r(b),.clk_r(clk_r),.HEX5(HEX5),.HEX4(HEX4)); alur U3(.clk(clk),.rst(rst),.a_r(a),.b_r(b),.alu_out(alu_out),.opcode(opcode)); digital U4(.clk_r(clk_r),.rst(rst),.alu_out(alu_out),.HEX1(HEX1),.HEX0(HEX0)); endmodule (2)寄存A值显示模块 module rega(clk,clk_r,rst,sw_ab,a_r,HEX7,HEX6); input [7:0]sw_ab; input clk,clk_r,rst; output[7:0]a_r; reg

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档