华科计算机数字逻辑实验报告计数器的设计.doc

上传人:scccc 文档编号:14395521 上传时间:2022-02-05 格式:DOC 页数:6 大小:77.50KB
返回 下载 相关 举报
华科计算机数字逻辑实验报告计数器的设计.doc_第1页
第1页 / 共6页
华科计算机数字逻辑实验报告计数器的设计.doc_第2页
第2页 / 共6页
华科计算机数字逻辑实验报告计数器的设计.doc_第3页
第3页 / 共6页
华科计算机数字逻辑实验报告计数器的设计.doc_第4页
第4页 / 共6页
华科计算机数字逻辑实验报告计数器的设计.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《华科计算机数字逻辑实验报告计数器的设计.doc》由会员分享,可在线阅读,更多相关《华科计算机数字逻辑实验报告计数器的设计.doc(6页珍藏版)》请在三一文库上搜索。

1、实验名称: 计数器的设计 专业班级: 学 号: 姓 名: 同组成员: 指导教师: 报告日期: 2013.6.11 1、系统需求PC 个人计算机ISE14.2 软件D.V 文件D.UCF 文件USB下载线Adept软件开发板Basys22、实验内容:用电平异步时序逻辑电路,实现上升沿触发的D触发器(无空翻).需要一个复位信号RESET,和一个置位信号RET,均为低电平有效.接线:输入信号:DIN0- 接板子上SW0(FPGA内部“p11”);DIN1- FPGA内部 L3DIN2- FPGA内部 K3DIN3- FPGA内部 B4CLK- -FPGA内部“A7”LOAD-FPGA内部 F3CLR

2、-FPGA内部 E2M-FPGA内部 N3输出信号:DOUT0-FPGA内部 M5DOUT1-FPGA内部 M11DOUT2-FPGA内部 P7DOUT3-FPGA内部 P6QCC-FPGA内部 G13、实验目的 :当你完成整个项目之后,你将学会以下的功能.(1)用ISE14.2 的软件开启一个 Spartan3E的项目.(2)撰写一个简单的Schematic原理图,用语法检查器(Syntax Check)来修正语法的错误(3)产生测试模板(Test Bench) 来辅助你的设计.(4)加入系统所需的Constraints 文件.(UCF file)(5)完成整个设计程.并产生D.bit文件。

3、(6)用Adept软件来烧录D.bit 文件到FPGA.4、实验过程4.1 verilog代码timescale 1ns / 1psmodule ADDER(LOAD,CLR,CLK, M,DIN,DOUT,QCC);input LOAD;wire LOAD;input CLR;wire CLR;input CLK;input M;wire M;input 3:0 DIN;wire 3:0 DIN;output QCC;reg QCC;output 3:0 DOUT;wire 3:0 DOUT;reg 3:0 counter;assign DOUT = counter;always ( pos

4、edge CLK or negedge LOAD or negedge CLR)beginif (!CLR) counter = 0;else if(!LOAD)counter = DIN; else beginif(M=1) beginif( counter = 4b1111) begincounter = 4b0000;QCC = 0;endelse begincounter = counter +1;QCC = 1;endendelse beginif( counter = 4b0000) begincounter = 4b1111;QCC = 0;endelse begincounte

5、r = counter -1;QCC = 1;endend end end endmodule4.2 设计仿真4.2.1编辑激励:timescale 1ns / 1psmodule test;/ Inputsreg LOAD;reg CLR;reg CLK;reg M;reg 3:0 DIN;/ Outputswire 3:0 DOUT;wire QCC;/ Instantiate the Unit Under Test (UUT)ADDER uut (.LOAD(LOAD), .CLR(CLR), .CLK(CLK), .M(M), .DIN(DIN), .DOUT(DOUT), .QCC(

6、QCC);always #20 CLK=CLK;initial begin/ Initialize InputsLOAD = 0;CLR = 0;CLK = 0;M = 0;DIN = 0;#10 CLR =1;#15 LOAD =1; #500 M=1;/ Wait 1000 ns for global reset to finish#1000;/ Add stimulus hereendendmodule4.22 仿真模拟图图 1:M=0(做减法)的仿真结果图 2:M=1(做加法)的仿真结果4.3 创建约束Ucf文件内容:# PlanAhead Generated physical con

7、straints NET DIN0 LOC = P11;NET DIN1 LOC = L3;NET DIN2 LOC = K3;NET DIN3 LOC = B4;NET DOUT0 LOC = M5;NET DOUT1 LOC = M11;NET DOUT2 LOC = P7;NET DOUT3 LOC = P6;NET CLK LOC = A7;NET CLR LOC = E2;NET LOAD LOC = F3;NET M LOC = N3;NET QCC LOC = G1; 4.4 下载到板子5.感想这是参考老师的代码然后改了一些变量名自己再抄上去的。自己写的仿真不出正确结果,对比看了一下,是要定义“wire”类型变量。而且代码中还包含了很多规则,比如说必须要这样: module ADDER(CLR),而不能像这样module ADDER (input CLR); input CLR; wire CLR; wire CLR;否则会报错,说CLR重复定义,真的比较奇怪。这是由于对verilog语法不熟悉造成的。虽然自己没写出来,但是经过参考,还是懂了点,所以还比较高兴。

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1