- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
D触发器设计实验报告
实验目的
(1)利用ISE14.2 的软件开启一个 Spartan3E的项目.
(2)撰写一个简单的Schematic原理图,利用语法检查器(Syntax Check)来修
正语法的错误
(3)产生测试模板(Test Bench) 来辅助你的设计.
(4)加入系统所需的Constraints 文件.(UCF file)
(5)完成整个设计流程.并产生D.bit文件。
(6)利用Adept软件来烧录D.bit 文件到FPGA.
实验器材
ISE14.2 软件
D.V 文件
D.UCF 文件
USB下载线
Adept软件
开发板Basys2
实验内容
用电平异步时序逻辑电路,实现下降沿的D触发器(无空翻).需要一个复位信号
RESET,和一个置位信号RET,均为低电平有效.
典型输入时间图如下:
X2(CP)
X1(D)
Z(Q)
接线:
输入信号:
D-------- 接板子上SW0(FPGA内部“p11”);;
CP-------接FPGA内部“B8”(50MHz);
RESET-----接板上Btn0(FPGA内部“g12”);
SET----- 接板上Btn3(FPGA内部“a7”);
输出信号:
Q---------接板子上灯ld0(FPGA内部“m5”);
Q(非)----接板子上灯ld7(FPGA内部“g1”);
实验过程
建立原始流程表按照输入信号的变化进行时间的划分,由题意可
知设立8中不同状态,见上图
画出原始流程表:
注:X2为CP,X1为D,Z为Q
状态 激励状态及输出
X2X1 00 01 11 10 1 ①/0 2/0 D/d 3/0 2 1/0 ②/0 4/0 d/d 3 1/0 d/d 4/0 ③/0 4 d/d 5/d ④/0 3/0 5 8/1 ⑤/1 6/1 D/d 6 d/d 5/1 ⑥/1 7/1 7 1/d d/d 6/1 ⑦/1 8 ⑧/1 5/1 d/d 7/1
化简流程表:
2 Y 3 Y Y 4 2,5 2,5 Y 5 N N N N 6 N N N N Y 7 N N N N Y N 8 N N N N Y Y N 1 2 3 4 5 6 7
画出状态合并图:
选择最小闭覆盖{(231)(4)(568)(7)}并且用ABCD分别表示:
画出状态相邻图;
A
D
B
C
状态编码设二次状态用y2y1表示,用00,01,11,10分别表示A,B,C,D四种状态,最简二进制流程表如图;
二次状态
Y2Y1 激励函数/Y2Y1和输出Z X2X1=00 X2X1=01 X2X1=11 X2X1=10 00 00/0 00/0 01/0 00/0 01 Dd/d 11/d 01/0 00/0 11 11/1 11/1 11/1 10/1 10 00/d dd/d 11/1 10/1
画出卡诺图并求出激励函数和输出函数;
Y2;
00 01 11 10 00 0 0 0 0 01 d 1 0 0 11 1 1 1 1 10 0 d 1 1
Y2=
Y1;
00 01 11 10 00 0 0 1 0 01 d 1 1 0 11 1 1 1 0 10 0 0 1 0
Y1=
Z
00 01 11 10 00 0 0 0 0 01 d d 0 0 11 1 1 1 1 10 d 1 1 1
Z=y2;
逻辑电路图:
逻辑电路代码:
module D_top_D_top_sch_tb();
// Inputs
reg SD;
reg D;
reg RD;
reg CP;
// Output
wire QN;
wire Q;
// Bidirs
always #50 CP= ~CP;
always #20 D = {$random}%2;
// Instantiate the UUT
D_top UUT (
.SD(SD),
.QN(QN),
.Q(Q),
.D(D),
.RD(RD),
.CP(CP)
);
/// always #20 RD = {$random}%2;
// Initialize Inputs
// `ifdef auto_init
initial begin
D = 0;
SD =
文档评论(0)