可编程逻辑器件设计及应用实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
H a r b i n I n s t i t u t e o f T e c h n o l o g y
可编程逻辑器件设计及应用
实验报告
实验一:电路图方法设计:异步16分频
一、实验内容
1、熟悉ISE M的安装及使用
2、熟悉电路图方式的输入方法;
3、熟悉ISE环境下的波形仿真
4、学习SIE安装过程
5、建立一个新的工程(cpld 9500系列)
6、输入电路图异步16分频,如图1-1所示:
图1-1
二实验结果
1、异步16分频电路图如图1-2所示:
图1-2 2、建立测试波形方法仿真激励图形,如图1-3所示:
图1-3
3、引脚约束条件如下:
NET "CLK" LOC = "P6";
NET "CLR" LOC = "P7";
NET "O1" LOC = "P42";
NET "O2" LOC = "P37";
NET "O3" LOC = "P40";
NET "O4" LOC = "P39";
4、最终仿真结果如图1-4,1-5所示:
图1-4
图1-5
三实验结果讨论分析
通过本次试验,初步掌握了ISE的使用方法,通过ISE自带库文件完成电路的搭建,实现了对输入时钟的2分频,4分频,8分频和16分频,通过最终的试验验证得到了正确的试验结果。
指导教师签字:
实验二电路图方法分层设计:全加器
一、实验内容
1、建立一个新的工程(cpld 9500系列)
2、建立一个独立的电路图(All_ADD)
3、输入电路图:一位全加器
图2-1一位全加器
4、建立测试波形方法仿真激励图形
图2-2波形仿真激励
5、功能仿真
记录结果,分析正确性。
6、生成电路模块
图2-3模块建立
7、利用电路模块设计8位全加器,(新电路图或者顶层电路图)
图2-4 8位全加器(顶层电路图)
8、建立测试波形方法仿真激励图形
图2-5 8位全加器波形仿真激励
9、学习总线数据预置方式:通过使用相同名字来对总线进行连接设置,和总线数据格式。二实验结果
一位全加器功能仿真结果:
图2-6 功能仿真结果
8位全加器功能仿真结果一(无进位):
图2-7 功能仿真结果
8位全加器功能仿真结果二(有进位):
图2-8 功能仿真结果
三实验结果讨论分析
本次试验充分体现了模块化设计思想,首先我们运用库文件实现了一位全加器,也即实验中的ALL_ADD模块,在实现此模块后进行仿真分析,确定无误后,运用8个一位全加器实现实现8位全加器,考虑进位。
在实验中进一步熟悉了软件的使用流程和具体的实际操作如操作总线结构等基本操作,
可谓知行合一。
指导教师签字:
实验三Verilog语言方法设计:8位全加器
一、实验内容
1、建立一个新的工程(cpld 9500系列)
2、建立一个Verilog模块(All_ADD8)
图3-1 建立一个新的verilog模块
3、输入全加器
图3-2 输入全加器
4、建立测试波形方法仿真激励图形
测试波形一:
图3-3 测试波形测试波形二:
图3-4 测试波形5、功能仿真
记录结果,分析正确性。
6、建立Verilog测试模块
源代码如下:
7、功能仿真
记录结果,分析正确性。进位结果。理解掌握语言描述。
8、8位可预置计数器(试验扩展)
9、建立一个Verilog模块(Counter8)
源代码如下:
`timescale 1ns / 1ps
module extentest_v;
reg [7:0] D;
reg CLK;
reg CLR;
reg PR;
wire [7:0] Q;
extendex uut
(
.D(D),
.CLK(CLK),
.CLR(CLR),
.PR(PR),
.Q(Q)
);
parameter PERIOD = 200;
always begin
CLK = 1'b0;
#(PERIOD/2) CLK = 1'b1;
#(PERIOD/2);
end
initial begin
D = 0;
CLR = 0;
PR = 0;
#100;每隔100ns变换一次输入数据
PR = 1; D = 17; CLR = 0;
#100;
PR = 0;
#100;
end
endmodule
10、学习总线数据预置方式
11、自己建立仿真过程(波形+Verilog测试)二实验结果
测试波形一结果:
图3-5 仿真测试结果测试波形二结果:
图3-6 仿真测试结果文件测试结果:
图3-7 仿真测试结果更改数据测试结果:
图3-8 仿真测试结果
三实验结果讨论分析
本次试验与上次试验的不同之处在于:上次试验是通过库文件链接电路图先实现1位全加器,在此基础上运用8个1位全加器按照逻辑链接在一起实现8位全加器,而在本次试验中,我们运用的是Verilog语言实现,个人感觉这种更加简单清楚,首先是这种方法省去了电路链接的麻烦,其次是它的实现过程中只需要编程实现模块即可,不用先生成1位全加器,然后再去实现8位全加器,编程仿真实现想要的结果后可以直接生成8位全加器模块,操作极为简单。
指导教师签字: