FBL-VN1-LL01-0移位寄存器的Verilog建模
发布时间:2019/10/19 16:26:21 访问次数:1673
组合电路可以在逻辑门级通过调用内置的逻辑门元件进行描述,也可以使用数据流描述语句和行为级描述语句进行描述,而触发器通常使用行为级描述语句进行描述。由于时序逻辑电路通常由触发器和逻辑门构成,所以可以将数据流描述语句和行为级描述语句结合起来对它的逻辑功能(即行为)进行描述。下面通过几个例子进行介绍。
移位寄存器的Verilog建模,例6.6.1通过行为级描述语句always描述了一个4位双向移位寄存器,它有两个选择输入端、两个串行数据输人端、4个并行数据输入端和4个并行输出端,完成的功能与图6.5.7所示74HCT194类似。它有5种功能:异步置零、同步置数、左移、右移和保持原状态不变。当清零信号CR跳变到低电平时,寄存器的输出被异步置零;否则,当CR=1时,与时钟信号有关的4种功能由case语句中的两个选择输人信号s1、sO决定(在case后面S1、SO被拼接成2位矢量)。移位由串行输入和3个触发器的输出拼接起来进行描述,
例如:
Q<={Ds1,Q[3:1]|;
说明了左移操作,即在时钟信号CP上升沿作用下,将左移输入端Dsl的数据直接传给输出Q[3],而触发器输出端的数据左移1位,Q[3:1]传给Q[2:0](即Q[3]一>Q[2],Q[2]->Q[1],Q[1]一>Q[0]),于是,完成将数据左移1位的操作。注意,例6.6,1中所注释的右移和左移方向与图6.5.7中的逻辑图一致,而与Vem。g描述语句中的排列和移动方向正好相反。后者与一般计算机程序一致(即高位在左,低位在右)。
例6.6.1
//Behavioral description of 1.Jniversal shift register
//see IFig.6.5.7 and rrable 6.5.4
module shift74x194(S1、sO、D、Ds1、Dsr、Q、CP、CR)1
input S1,sO; //select inputs
input Dsl,Dsr; //seria1 Data inputs
input CP,CR; //Clock and Reset
input[3:OlD; //Parallel Data input
output[3:0]Q; //Register output
reg[3:0]Q;
always@(posedge CP or negedge CR)
iF(~CR~)Q <=4’b0000;
else
case({s1,SO})
2’b00:Q(=Q; //No change
21 bO1:Q(={Q[2:0],Dsr}; //shift right
2’b10:Q(={Dsl,Q[3:1]}; //Shift len
2i b11:Q(=D; //Para11e1 1oad input
endcase
endmnodule
组合电路可以在逻辑门级通过调用内置的逻辑门元件进行描述,也可以使用数据流描述语句和行为级描述语句进行描述,而触发器通常使用行为级描述语句进行描述。由于时序逻辑电路通常由触发器和逻辑门构成,所以可以将数据流描述语句和行为级描述语句结合起来对它的逻辑功能(即行为)进行描述。下面通过几个例子进行介绍。
移位寄存器的Verilog建模,例6.6.1通过行为级描述语句always描述了一个4位双向移位寄存器,它有两个选择输入端、两个串行数据输人端、4个并行数据输入端和4个并行输出端,完成的功能与图6.5.7所示74HCT194类似。它有5种功能:异步置零、同步置数、左移、右移和保持原状态不变。当清零信号CR跳变到低电平时,寄存器的输出被异步置零;否则,当CR=1时,与时钟信号有关的4种功能由case语句中的两个选择输人信号s1、sO决定(在case后面S1、SO被拼接成2位矢量)。移位由串行输入和3个触发器的输出拼接起来进行描述,
例如:
Q<={Ds1,Q[3:1]|;
说明了左移操作,即在时钟信号CP上升沿作用下,将左移输入端Dsl的数据直接传给输出Q[3],而触发器输出端的数据左移1位,Q[3:1]传给Q[2:0](即Q[3]一>Q[2],Q[2]->Q[1],Q[1]一>Q[0]),于是,完成将数据左移1位的操作。注意,例6.6,1中所注释的右移和左移方向与图6.5.7中的逻辑图一致,而与Vem。g描述语句中的排列和移动方向正好相反。后者与一般计算机程序一致(即高位在左,低位在右)。
例6.6.1
//Behavioral description of 1.Jniversal shift register
//see IFig.6.5.7 and rrable 6.5.4
module shift74x194(S1、sO、D、Ds1、Dsr、Q、CP、CR)1
input S1,sO; //select inputs
input Dsl,Dsr; //seria1 Data inputs
input CP,CR; //Clock and Reset
input[3:OlD; //Parallel Data input
output[3:0]Q; //Register output
reg[3:0]Q;
always@(posedge CP or negedge CR)
iF(~CR~)Q <=4’b0000;
else
case({s1,SO})
2’b00:Q(=Q; //No change
21 bO1:Q(={Q[2:0],Dsr}; //shift right
2’b10:Q(={Dsl,Q[3:1]}; //Shift len
2i b11:Q(=D; //Para11e1 1oad input
endcase
endmnodule
热门点击
- 基于FTU的馈线自动化系统构成
- 基于FTU的馈线自动化系统的功能
- A/D转换器的每一个测量过程分为自动稳零
- 电网故障相的对地电容的放电波
- 实验数据分析结果
- 重合器的应用场合
- 问答式通信规约又称为Polhg规约
- P487A06信息图表:不同类
- 按照不同的分类标准,重合器有如
- MC74LS125 电路或图腾柱
推荐技术资料
- 循线机器人是机器人入门和
- 循线机器人是机器人入门和比赛最常用的控制方式,E48S... [详细]