三态门实现“一读多写”总线结构

Posted shaonianpi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三态门实现“一读多写”总线结构相关的知识,希望对你有一定的参考价值。

 1 //三态门完成总线选择功能
 2 module tri_state_gate(input request0,request1,request2,request3,input[7:0] unit0_out,unit1_out,unit2_out,unit3_out,
 3  output[7:0]unit0_in,unit1_in,unit2_in,unit3_in);
 4  reg[7:0]bus;
 5  reg[3:0] en;
 6 always@(request0,request1,request2,request3)
 7 begin 
 8     casex({request0,request1,request2,request3})
 9     4b0001:en=4b0001;    //注意,这里区别于MUX结构对于三态门而言,每个门电路都有自己的使能端
10     4b001x:en=4b0010;
11     4b01xx:en=4b0100;
12     4b1xxx:en=4b1000;
13     default:
14     en=4b0000;
15     endcase
16 end
17 //写总线
18 always@(en,unit0_out,unit1_out,unit2_out,unit3_out)
19 begin 
20     case(en)
21          4b0001:bus=unit0_out;
22          4b0010:bus=unit1_out;
23          4b0100:bus=unit2_out;
24          4b1000:bus=unit3_out;
25         default:
26         bus=8hzz;  //总线空闲的时候,处于断开的状态,属于高阻态,这个特性很重要!
27     endcase
28 end        
29 assign unit0_in=bus;
30 assign unit1_in=bus;
31 assign unit2_in=bus;
32 assign unit3_in=bus;
33 endmodule

 

以上是关于三态门实现“一读多写”总线结构的主要内容,如果未能解决你的问题,请参考以下文章

一读多写非自旋无锁链表队列实现

一读多写非自旋无锁链表队列实现

OC门、OD门与三态门各有啥特点?

基础项目三态门程序设计讲解

OD门、OC门和三态门的主要作用和应用

三态门以要例化到FPGA的IOB中如何实现