版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章逻辑电路设计基本时序逻辑电路02Part2基本时序逻辑电路2.1寄存器例5.10使用VerilogHDL设计一个带有异步复位和同步使能的寄存器。2基本时序逻辑电路2.1寄存器程序如下:modulereg_1(q_data,clk,reset,load,data);outputregq_data;inputclk,reset,load;inputdata;always@(posedgeclk,posedgereset)begin
if(reset)
q_data<=1’b0;
else(load)q_data<=data;endendmodule2基本时序逻辑电路2.1寄存器例5.11使用VerilogHDL设计一个N位寄存器。程序如下:moduleN_reg(q_data,clk,reset,load,data);outputreg[N-1:0]q_data;//声明寄存器位宽inputclk,reset,load;input[N-1:0]data;//声明数据位宽
parameterN=8;//定义寄存器位宽为8always@(posedgeclk,posedgereset)if(reset)q_data<=0;elseif(load)q_data<=data;endmodule2基本时序逻辑电路2.2移位寄存器移位寄存器通常由多个触发器级联而成,在同步时钟信号的作用下存储并移位数据使得数据能够在每个时钟周期内向左或向右移动一位。不仅可以用于简单的数据存储,还广泛应用于数据的串并转换、分频、序列码生成和检测以及数值运算等。2基本时序逻辑电路2.2移位寄存器移位寄存器的工作方式按照移动方向可以分为左移和右移从数据转换方式来看,移位寄存器有四种工作模式:串行输入并行输出(SIPO,SerialInParallelOut,):多位数据以串行方式逐位输入寄存器,最终以并行方式一次性输出。串行输入串行输出(SISO,SerialInSerialOut,):多位数据以串行方式逐位输入,且以串行方式逐位输出,每次时钟脉冲只移动一位。并行输入串行输出(PISO,ParallelInSerialOut):多位数据以并行方式一次性输入寄存器,然后以串行方式逐位输出。并行输入并行输出(PIPO,ParallelInParallelOut):多位数据以并行方式输入寄存器,以并行方式输出,通常在同一个时钟脉冲下完成。2基本时序逻辑电路2.2移位寄存器例5.12使用VerilogHDL设计一个具有同步置数功能的8位移位寄存器,实现并行输入串行输出。使用移位运算符的程序如下:moduleshift8(q,din,clk,load);outputregq;input[7:0]din;inputclk,load;reg[7:0]reg8;always@(posedgeclk)begin if(load) reg8<=din; elsebegin reg8<=reg8>>1;//采用移位运算符实现右移 q<=reg8[0];//把寄存器数据的最低位输出 endendendmodule2基本时序逻辑电路2.2移位寄存器使用错位赋值的程序如下:moduleshift8(q,din,clk,load);outputregq;input[7:0]din;inputclk,load;reg[7:0]reg8;always@(posedgeclk)begin if(load) reg8<=din; elsebegin reg8[6:0]<=reg8[7:1];//采用错位赋值的方法实现右移 q<=reg8[0]; endendendmodule2基本时序逻辑电路2.2移位寄存器例5.13设计一个4位双向移位寄存器输入输出CLRCLKD3D2D1D0LRS1S0Q3Q2Q1Q00xxxxxx00001↑D3D2D1D0LR00Q3Q2Q1Q01↑D3D2D1D0LR01Q2Q1Q0R1↑D3D2D1D0LR10LQ3Q2Q11↑D3D2D1D0LR11D3D2D1D02基本时序逻辑电路2.2移位寄存器程序如下:moduleshift4_dual(Q,D,S1,S0,DSR,DSL,CLR,CLK);output[3:0] Q;input[3:0] D;inputS1,S0,DSR,DSL,CLR,CLK;reg [3:0]Q; always@(posedgeCLKornegedgeCLR)begin if(!CLR)
Q=4'b0000; elsecase({S1,S0}) 2'b00:beginQ<=Q;end 2'b01:beginQ<=Q<<1;Q[0]<=R;end 2'b10:beginQ<=Q>>1;Q[3]<=L;end 2'b11:beginQ<=D;end default:beginQ<=4'bx;end endcase endendmodule2基本时序逻辑电路2.3计数器例5.14设计一个异步复位的四位二进制加减计数器,resetclkloaddirD3D2D1D0Q3Q2Q1Q00xxxD3D2D1D000001↑1xD3D2D1D0D3D2D1D01↑00D3D2D1D0减计数1↑01D3D2D1D0加计数2基本时序逻辑电路2.3计数器程序如下:modulecount4bit(Q,clk,reset,load,D,dir);output[3:0]Q;inputclk,reset,load;input[3:0]D;inputdir;reg[3:0]Q;always@(posedgeclkornegedgereset)begin if(!reset) Q<=4'b0; elseif(load) Q<=D; elsecase(dir) 1'b1:Q<=Q+1; 1'b0:Q<=Q-1; default:Q<=Q; endcaseendendmodule2基本时序逻辑电路2.3计数器例5.15用VerilogHDl语言设计一个异步复位的三进制计数器。modulecounter3(Q1,Q0,CO,CLK,CR);outputCLK,CR;inputQ1,Q0,CO;
reg[1:0]Q;always@(posedgeCLKorposedgeCR)beginif(CR)begin Q=2’b00;CO=1’b0;endelseif(Q==2)begin Q=2’b00;CO=1’b1;endelsebegin Q=Q+1;CO=1’b0;endendassignQ1<=Q[1];assignQ0<=Q[0];
endmodule2基本时序逻辑电路2.4分频电路分频电路通常是通过计数器实现的,计数器是构建分频电路的核心组件。计数器通过对时钟信号的脉冲进行计数,当计数值达到设定值时,输出信号状态发生翻转,从高电平变为低电平或者从低电平变为高电平,从而实现将输入时钟信号的频率降低的功能。2基本时序逻辑电路2.4分频电路例5.16设计一个二分频电路,将输入信号的频率降为原来的1/2。程序如下:modulediv_fre_2(q_out,reset,data_in);outputregq_out;inputdata_in,reset;always@(posedgedata_in) if(reset) q_out<=1'b0; else q_out<=~q_out;endmodule 2基本时序逻辑电路2.4分频电路例5.17外部时钟信号的频率为20KHz,而模块所需时钟为500Hz,编写程序生成合适的信号。2基本时序逻辑电路2.4分频电路方法一:modulediv_fre_20Kto500(clk_500,clk_20K,reset);outputregclk_500;inputclk_20K;inputreset;integeri;always@(posedgeclk_20K)begin
if(reset) clk_500=1'b0;
elseif(i==39)begin//计数变量取临界值 i<=0; clk_500<=1'b1; end elsebegin i<=i+1; clk_500<=1’b0; endendendmodule2基本时序逻辑电路2.4分频电路方法二:modulediv_fre_20Kto500(clk_500,clk_20K,reset);outputregclk_500;inputclk_20K;inputre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 哈啰广告营销方案(3篇)
- 毕业会营销方案(3篇)
- 生产制造营销方案(3篇)
- 肥料营销方案范文(3篇)
- 餐饮圣诞营销方案(3篇)
- (正式版)DB41∕T 2517-2023 《白芷种子生产技术规程》
- 妊娠合并神经纤维瘤病的孕期用药禁忌
- 妊娠合并梅毒的孕期心理支持
- 妊娠合并尿路感染病原菌耐药性防控策略
- 妊娠合并口腔疾病多学科干预策略
- QCT457-2023救护车技术规范
- DZ∕T 0207-2020 矿产地质勘查规范 硅质原料类(正式版)
- 湖南对口招生考试旅游类专业综合知识模拟试题及答案
- 《管理运筹学》第5版习题答案韩伯棠
- 华为信用管理手册
- 超50米落地脚手架专家论证方案-
- 机械设备租赁保障措施
- 小学前鼻音后鼻音练习题
- Q GW 202002-2019-金风风力发电机组 塔架技术条件-归档版-D
- GB/T 22085.1-2008电子束及激光焊接接头缺欠质量分级指南第1部分:钢
- 儿科学的范围和任务及儿科学的发展和展望课件
评论
0/150
提交评论