串行信号检测器Word格式.docx
《串行信号检测器Word格式.docx》由会员分享,可在线阅读,更多相关《串行信号检测器Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
![串行信号检测器Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/24/fca8c43d-c4d3-4049-a2f0-0ff6889d98f6/fca8c43d-c4d3-4049-a2f0-0ff6889d98f61.gif)
实验设备:
PC机一台
环境要求:
安装Modelsim仿真软件以及Synplify
Pro综合工具
三、实验内容与步骤
1.分析序列检测器示意图
2.序列检测器源代码serial_detected.v如下
/*
*
@file
serial_detected.v
@Synopsis
这是一个利用有限状态机实现的串行数据检测器,
连续4个或4个以上为1时输出为1,其他输入情况为0
*/
module
serial_detected(din,clk,reset,out);
input
din;
//串行数据输入
clk;
//时钟输入
reset;
//异步复位信号输入
output
out;
//结果输出
reg
[3:
0]
state,nextstate;
//状态编码
parameter
Idle
=
3'
b000,
First_bit
b001,
Second_bit
b010,
Third_bit
b011,
Fourth_bit
b100;
//更新当前状态
always
@(posedge
clk
or
negedge
reset)
begin
if(!
reset)
state
<
Idle;
else
nextstate;
end
//--产生下一状态组合逻always
@(state
din)
case(state)
Idle:
if(din)
nextstate
First_bit;
First_bit:
Second_bit;
Second_bit:
Third_bit;
Third_bit:
Fourth_bit;
Fourth_bit:
default:
bxxx;
endcase
reset
begin
out
0;
else
if(state
==
Fourth_bit)
1;
end
endmodule
3.编写测试模块test_serial_detected.v如下:
@File
test_serial_detected.v
这是串口序列检测器的测试文件
`timescale
1ns/1ns
test_serial_detected;
clk,reset;
wire
//--------初始化信号和变量------
initial
din
//给复位信号变量赋初值
//给时钟变量赋初值
#22
//使复位信号有效
#133
//经过一个多周期以后是复位信号无效
//--------产生信号和控制
#50
~clk;
//产生周期性时钟
clk)
//在每次时钟正跳变沿时刻产生不同的din
{$random}%2;
//din的值是随机产生的
#(3*50+12);
//din的值维持一段时间
//暂停仿真以便观察仿真波形
#100000
$stop;
//----------------调用被测试模块--------
serial_detected
tsd(.clk(clk),.reset(reset),.out(out),.din(din));
endmodule
4.利用Modelsim编译纠错和仿真
5.利用Synplify
Pro进行综合
6.利用Quartus2进行布局布线
四、实验结果与数据处理
1.Modelsim仿真波形如下,自上向下信号依次为reset、clk、din、out。
2.选择Altera
STRATIX器件库综合产生的RTL级电路如下:
3.使用Modelsim进行后仿真波形如下:
五.分析与讨论
用有限状态机编写的该序列检测器成功的通过了综合和布局布线,分析前仿真和后仿真波形发现,该电路功能完全正确,实现了预定任务。
六.心得体会
通过本次课程设计,我认为,在这学期的课设中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我通过查找大量资料,请教老师和同学,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
更重要的是,在课设过程中,我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
我们采用Verilog语言作为执行核心,通过了种从无到有,从不会到自由运用的过程。
在某种意义上说,这是一种锻炼,一种知识的积累,能力的提高。
完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。
很少有人会一步登天吧。
永不言弃才是最重要的。
而且,这对于我们的将来也有很大的帮助。
以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。
就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。
课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。
”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。
今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。