收藏 分销(赏)

移位寄存器设计verilog.doc

上传人:xrp****65 文档编号:7433716 上传时间:2025-01-04 格式:DOC 页数:5 大小:355KB 下载积分:10 金币
下载 相关
移位寄存器设计verilog.doc_第1页
第1页 / 共5页
移位寄存器设计verilog.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
电 子 科 技 大 学 ASIC课程设计报告一 学 号 : 201222240937 姓 名 : 周 恒 课题题目 : 移位寄存器设计 2013年5月 1. Write and verify the Verilog models for the two basic types of synchronizer circuits(a,b) shown in Fig.1 本电路实现是功能是一个两位的移位寄存器。Asynch_in为输入,Synch_out为输出,clock是时钟,reset为异步复位信号。 电路a的verilog代码为: module syn_a( input Asynch_in, input clock, input reset, output Synch_out); wire meta; reg Q1,Q2; assign meta=Q1; assign Synch_out=Q2; always @(posedge clock or negedge reset) begin if(!reset)begin Q1 <=1'b0; Q2 <=1'b0; end else begin Q1 <= Asynch_in; Q2 <= meta; end end endmodule 验证代码: `timescale 1ns/1ps module syn_a_test; reg Asynch_in; reg clock; reg reset; wire Synch_out; always #50 clock=~clock; initial begin clock=1; reset=1; Asynch_in=1; #50 reset=0; Asynch_in=0; #50 reset=1; #50 Asynch_in=1; #100 Asynch_in=0; #200 Asynch_in=1; #100 Asynch_in=0; #100 Asynch_in=1; #100 Asynch_in=0; #100 $stop; end syn_a a(.Asynch_in(Asynch_in),.clock(clock),.reset(reset),.Synch_out(Synch_out)); endmodule 输出波形: 从输出波形可以看出输出比输入延迟一个时钟,电路功能正确。 电路b 电路b的verilog代码: module syn_b( input Asynch_in, input clock, input reset, output reg Synch_out); wire Clr,Clr_in; reg q1,q2; always @(posedge Asynch_in or negedge Clr) if(!Clr) q1<=1'b0; else q1<=1'b1; always @(posedge clock or negedge Clr) if(!Clr) q2<=1'b0; else q2<=q1; always @(posedge clock or negedge reset) if(!reset) Synch_out<=1'b0; else Synch_out<=q2; and (Clr_in,!Asynch_in,Synch_out); or (Clr,Clr_in,reset); endmodule 验证代码: `timescale 1ns/1ps module syn_b_test; reg Asynch_in; reg clock,reset; wire Synch_out; always #50 clock=~clock; initial begin clock=1; reset=1; Asynch_in=1; #30 reset=0; #20 Asynch_in=0; #50 reset=1; #50 Asynch_in=1; #100 Asynch_in=0; #200 Asynch_in=1; #100 Asynch_in=0; #100 Asynch_in=1; #100 Asynch_in=0; #100 Asynch_in=1; #100 reset=0; #50 reset=1; #100 Asynch_in=0; #200 Asynch_in=1; #100 Asynch_in=0; #100 Asynch_in=1; #100 Asynch_in=0; #100 Asynch_in=1; #100 $stop; end syn_b b(.Asynch_in(Asynch_in),.clock(clock),.reset(reset),.Synch_out(Synch_out)); endmodule modelsim仿真波形:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服