资源描述:
《华中科技大学数字逻辑第4次实验报告veriloghdl设计较复杂数字逻辑电路》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数字逻辑实验报告(4)团队成员:姓名班级学号贡献百分比卢振兴CS1502U201414596实验部分:实验完成结果、时间(亮点、完成、基本完成、未完成)总分(实验部分70%+报告30%)第一个实验第二个实验第三个实验检查结果榆杳时间检查老师报告人:实验指导教师:报告批阅教师:计算机科学与技术学院20年月曰i/i一、实验名称VerilogHDL设计较复杂数字逻辑电路。二、实验目的要求同学用Ver订ogHDL设计较复杂的数字逻辑电路,通过3个逻辑电路实验,并利用“Vivado2015.2”软件进行“前、后”仿真检查电路设计,然后在"XilinxNEXYS4开发板
2、”上操作、记录实验结果,最后验证设计是否达到要求。通过以上设计、仿真、验证3个训练过程使同学们掌握VerilogHDL设计较复杂数字逻辑电路的基本方法,同时掌握“电路实例化”、“模块化”的使用、异步时序逻辑电路的同步化处理以及用状态机设计控制电路。三、实验所用组件X订inxNEXYS4开发板(芯片为XC7A100TCSG324-1,封装为CSG324,软件为Vivado2015.2)1套。U1实验内容(在XilinxNEXYS4开发板完成〉1、4位二进制加法/减法计数器的设计(必选)设计一个能清零、置数和进位/借位输出的加1/减1的4位二进制计数器,其结构框
3、图如图4-1所示。JU1RQaQbQcQdCP加1/减1QccCLR计数器MABCDLDIT图4・14位二进制加法/减法计数器电路输入为计数脉冲CP、工作模式选择M、预制初值D,C,B,A(其中D为高位,A为低位)和预制控制7万,清零端丽;输岀为计数值Q”Qc,Qb,Qa(Q»为高位,Qa为低位)和进位/借位输出阪;当CLR为0时,电路输出清零;预制控制厶D二0时,将D、C、B、A的输入值送到计数器中,并立即在Q),Qc,Qb,Qa中输出;模式选择端M=1时加1计数;当M二0时减1计数;当CP端输入一个上升沿信号时进行一次计数;计数有进位/借位时阪端输出一个
4、负脉冲。注意:用Verilog设计电路时,经常会遇到这样一些问题,例如:(1)用两个always块对一个寄存器进行赋值,无论其中经过了怎样的条件判断,最终结果毫无疑问是将两个相独立的触发信号连在了寄存器的CLK端上,一个端口接入两信号,所以这样的语句是无法被综合成电路的。(2)某电路如果有多个输入都可能引起输出值的改变,在使用"always"时,如果其触发条件为电路的“多个输入”时,如果语句的“并发性”处理不好,会造成系统编译成功、“行为仿真'‘也成功,但是系统生成不了“bf文件。解决方法:采用所谓“异步时序逻辑电路的同步化处理S即:减少"always"的触
5、发条件。具体要求:(1)用VerilogIIDL实现该计数器,将之下载到开发板中进行验证;(2)用已实现了的“4位二进制计数器”,采用“电路实例化”或者“模块化”实现一个初值为2的模8计数器,并下载到开发板中进行验证;(3)给岀设计占用FPGA芯片的资源情况(希望越少越好)。2、釆用有限状态机(FSM)实现序列检测器(必选)设计一个简单的状态机,其功能是检测一个串行的5位不可重叠的“10110”二进制序列检测器,当输入值出现“10110”时,给出输出标志。具体要求如下:(1)给出不可重叠的“10110”二进制序列的状态转移图;(2)采用有限状态机“标准模板”
6、来设计“10110”二进制序列检测器,在仿真正确后再下载到开发板中进行验证;(3)给出设计占用FPGA芯片的资源情况(希望越少越好)。(所谓有限状态机“标准模板”请参考教材:夏雨闻。Vedlog数字系统设计教程第3版。北京:北京航空航天大学出版社,2013.)3、3位二进制数值比较器的设计(可选)设计一个3位二进制数值比较器。当A>B时,Fl=l,F2二F3=0;当A=B时,F2=l,Fl=F3=0;当A
7、化”或者“模块化”实现一个3位二进制数值比较器;(3)将所设计的电路下载到开发板上进行验证;(4)给出设计占用FPGA芯片的资源情况(希望越少越好)。五、实验方案设计1、4位二进制加法/减法计数器的设计方案(A)模16加1/减1计数器(a)源程序modulecounter(DCBA,CP,CLR,LD,M,Q,Qcc);input[3:0]DCBA;inputCP,CLR,LD,M;output[3:0]Q;outputQcc;reg[3:0]Q;regQcc;initialQ=4'b()0()0;initialQcc=1;always@(posedgeCP
8、ornegedgeLDornegedgeCLR)be