EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——二选一数据选择器之战 . Y; t7 M4 e( `
, `* i2 q& `6 e7 | P8 D/ f' U数据选择器在数字电路的设计在尤其重要,包括FPGA内部的逻辑实现,都是通过数据选择器来实现的,现在我们来一起设计一个最基础的二选一数据选择器。 二选一数据选择器有4个端口组成,分别是data_a,data_b,data_sel,和data_out;data_a与data_b分别是数据的输入端,而data_sel则是数据的选择端口,data_out是数据的输出端,详细的结构图如下: ) H/ D c6 t' t8 H
代码如下: 仿真代码如下: ' l) P8 V1 U5 u
仿真结果如下: 由仿真图可知,当data_sel为低电平的时候,data_out=data_b,当data_sel为高电平的时候,data_out=data_a,data_out的输出由data_sel的电平来决定,满足了二选一数据选择器的要求;
; U1 \% h, ]! D: z3 _ 下面我们来改造一下二选一数据选择器的结构,让二选一数据选择器的输出端带寄存器的形式做输出: 8 X4 s8 b+ I+ b& F3 n, {
代码如下: 仿真代码如下:
! \, R0 @) _# ~7 ~5 w& V仿真结果如下: 0 b1 G9 w3 o( D
0 T# H8 W4 U) e# y
由仿真图可知,当data_sel为低电平的时候,data_out的输出结果等于时钟上升沿之前的data_b,当data_sel为高电平的时候,data_out的输出结果等于时钟上升沿之前的data_a,data_out的输出由data_sel的电平与时钟信号一起决定,与第一个设计的二选一数据选择器不同的地方就是data_out的输出结果会慢一个时钟周期。
# \; x0 ~0 x! f: n4 O( _2 @' K6 d$ Z. [0 `9 R) @! m
/ T$ q' m# z1 d- s |