EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——二选一数据选择器之战
f y! P) k+ n& x) g8 |& g, c+ \% f% A0 I) G8 O% C
数据选择器在数字电路的设计在尤其重要,包括FPGA内部的逻辑实现,都是通过数据选择器来实现的,现在我们来一起设计一个最基础的二选一数据选择器。 二选一数据选择器有4个端口组成,分别是data_a,data_b,data_sel,和data_out;data_a与data_b分别是数据的输入端,而data_sel则是数据的选择端口,data_out是数据的输出端,详细的结构图如下: / W+ e9 n6 d2 m" Y9 k) `
代码如下: 仿真代码如下: $ Z& |8 t: x$ p6 ~" O
仿真结果如下: 由仿真图可知,当data_sel为低电平的时候,data_out=data_b,当data_sel为高电平的时候,data_out=data_a,data_out的输出由data_sel的电平来决定,满足了二选一数据选择器的要求;
' T/ \. E" v6 Z/ ~' c& z ` 下面我们来改造一下二选一数据选择器的结构,让二选一数据选择器的输出端带寄存器的形式做输出:
* e+ [6 V+ Q9 w代码如下: 仿真代码如下: ) q# q+ b3 _# }* y
仿真结果如下: ( D0 X/ u0 O2 J" }/ {) M6 {5 K) c
0 y% O( Q# f4 G: X由仿真图可知,当data_sel为低电平的时候,data_out的输出结果等于时钟上升沿之前的data_b,当data_sel为高电平的时候,data_out的输出结果等于时钟上升沿之前的data_a,data_out的输出由data_sel的电平与时钟信号一起决定,与第一个设计的二选一数据选择器不同的地方就是data_out的输出结果会慢一个时钟周期。
. z0 h' p2 @3 t8 Z, y; ?$ T! ^" N8 j
, j8 t& u! n, n |