EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——二选一数据选择器之战 . S2 I9 W- G5 O. g K9 t2 r& r8 [
' y5 S, E4 S. L
数据选择器在数字电路的设计在尤其重要,包括FPGA内部的逻辑实现,都是通过数据选择器来实现的,现在我们来一起设计一个最基础的二选一数据选择器。 二选一数据选择器有4个端口组成,分别是data_a,data_b,data_sel,和data_out;data_a与data_b分别是数据的输入端,而data_sel则是数据的选择端口,data_out是数据的输出端,详细的结构图如下: 3 l0 V: S0 L5 f5 \+ O- Q
代码如下: 仿真代码如下: ; r1 n& _* I( g% P
仿真结果如下: 由仿真图可知,当data_sel为低电平的时候,data_out=data_b,当data_sel为高电平的时候,data_out=data_a,data_out的输出由data_sel的电平来决定,满足了二选一数据选择器的要求;
6 x" d( |2 p6 F7 j7 ~7 x 下面我们来改造一下二选一数据选择器的结构,让二选一数据选择器的输出端带寄存器的形式做输出: $ }" B! d6 N/ q7 Z8 c% i4 W: n+ z
代码如下: 仿真代码如下: . Z% G1 r* u. o I9 C
仿真结果如下: ) f. P/ o5 u- i4 N; I4 I6 e
g4 p9 I+ N4 c1 q6 e由仿真图可知,当data_sel为低电平的时候,data_out的输出结果等于时钟上升沿之前的data_b,当data_sel为高电平的时候,data_out的输出结果等于时钟上升沿之前的data_a,data_out的输出由data_sel的电平与时钟信号一起决定,与第一个设计的二选一数据选择器不同的地方就是data_out的输出结果会慢一个时钟周期。 ( K8 ?( [3 `# c: r
+ |5 O9 b# j2 d* j8 O4 f( J4 m3 o
_' @; j0 g* F% f9 B+ K' M
|