首页 > 其他 > 详细

在verilog中关于inout口的两种设计方法

时间:2016-01-13 10:44:50      阅读:244      评论:0      收藏:0      [点我收藏+]

  在学习IIC的时候我们知道这么设计inout 

  inout   scl ; 

  reg    scl_reg ,  scl_en ; 

  scl  = scl_en ?   scl_reg : 1‘dz ;  

     当scl_en 有效输出scl_reg 的波形,就是output,否则就是input。

 

  后来在工作中遇到了一个IIC的IP核 ,这个IIC的IP核接口是这样子的

 1 mi2c  U_mi2c(
 2         .CLK (clock), 
 3         .NRST (reset), 
 4         .A (a), 
 5         .DI (di), 
 6         .WR (wr), 
 7         .SEL (sel), 
 8         .ISCL (iscl), 
 9         .ISDA (isda),
10         .DA (da), 
11         .NOE (noe), 
12         .INTR (intr), 
13         .OSCL (oscl), 
14         .OSDA (osda)
15         );

这个IP中,将IIC的input 和output分开了。并且没有上面说的使能scl_en。这下子我就懵了,经过一番苦心寻找,终于知道如何合并了,废话不多说,直接上代码,最后变成这个样子。

 1 module mi2c_top (
 2                 clock ,
 3                 reset,
 4                 a,
 5                 di,
 6                 wr,
 7                 sel,
 8                 scl,
 9                 sda,
10                 da,
11                 noe,
12                 intr
13                 );
14 input         clock ,reset ;
15 input [2:0] a ;
16 input [7:0] di ;
17 input          wr ,sel ;
18 
19 output [7:0] da ;
20 output             noe ,intr ;
21 
22 inout tri1 scl ;
23 inout tri1 sda ;
24 
25 wire isda,iscl,osda,oscl ;
26 
27 mi2c  U_mi2c(
28         .CLK (clock), 
29         .NRST (reset), 
30         .A (a), 
31         .DI (di), 
32         .WR (wr), 
33         .SEL (sel), 
34         .ISCL (iscl), 
35         .ISDA (isda),
36         .DA (da), 
37         .NOE (noe), 
38         .INTR (intr), 
39         .OSCL (oscl), 
40         .OSDA (osda)
41         );
42         
43 assign  iscl = scl ;
44 assign  isda = sda ;
45 assign  scl  = (oscl == 1d0) ? 1d0 : 1dz ;
46 assign  sda  = (osda == 1d0) ? 1d0 : 1dz ;        
47         
48         
49 endmodule 

在modelsim中仿真可以看到,如果是高电平,会显示虚线,也就是弱上拉的意思。

小伙伴儿们,以后再也不用担心inout口了。

在verilog中关于inout口的两种设计方法

原文:http://www.cnblogs.com/sepeng/p/5126424.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!