微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 软核的设计中添加DM9000A后引脚的分配问题

软核的设计中添加DM9000A后引脚的分配问题

时间:10-02 整理:3721RD 点击:
小弟刚刚在做一个关于DM9000A模块的设计!遇到一点问题!请教各位高手!
软核的设计中添加DM9000A后引脚的分配问题! 谢谢高手指点!
源码:

  1.   module DM9000A(//HOST Side: Avalon slave signals
  2.                 iDATA,
  3.                 oDATA,
  4.                 iCMD,
  5.                 iRD_N,
  6.                 iWR_N,         
  7.                 iCS_N,
  8.                 iRST_N,
  9.                 iCLK,
  10.                 iOSC_50,
  11.                 oINT,
  12.                 //DM9000A Side: export signals
  13.                 ENET_DATA,
  14.                 ENET_CMD,
  15.                 ENET_RD_N,
  16.                 ENET_WR_N,
  17.                 ENET_CS_N,
  18.                 ENET_RST_N,
  19.                 ENET_INT,
  20.                 ENET_CLK );
  21.         //HOST Side
  22.         input[15:0]                iDATA ;
  23.         input                        iCMD ;
  24.         input                        iRD_N ;
  25.         input                        iWR_N ;
  26.         input                        iCS_N ;
  27.         input                        iRST_N ;
  28.         input                     iCLK ;
  29.         input                        iOSC_50 ;
  30.         output [15:0]        oDATA ;
  31.         output                        oINT ;

  32.           //DM9000A Side
  33.           output [15:0]        ENET_DATA ;
  34.            output                        ENET_CMD ;
  35.            output                        ENET_RD_N ;
  36.            output                        ENET_WR_N ;
  37.            output                        ENET_CS_N ;
  38.            output                        ENET_RST_N ;
  39.         output                        ENET_CLK ;
  40.            input                        ENET_INT ;

  41.         reg [15:0]                TMP_DATA ;
  42.         reg                                ENET_CMD ;
  43.         reg                                ENET_RD_N ;
  44.         reg                                ENET_WR_N ;
  45.         reg                                ENET_CS_N ;
  46.         reg                                ENET_CLK ;
  47.         reg [15:0]                oDATA ;
  48.         reg                                oINT ;

  49.         //写使能状态下将ENET_DATA位置高阻状态                                

  50.         assign                ENET_DATA=ENET_WR_N?16'hzzzz:TMP_DATA ;
  51.         

  52.         always@(posedge iCLK or negedge iRST_N)
  53.         begin
  54.                  if(!iRST_N)
  55.                 begin
  56.                         TMP_DATA        <=0 ;
  57.                         ENET_CMD        <=0 ;
  58.                           ENET_RD_N        <=1 ;
  59.                         ENET_WR_N        <=1 ;
  60.                         ENET_CS_N        <=1 ;
  61.                         oDATA                 <=0 ;
  62.                         oINT                <=0 ;
  63.                 end
  64.                 else
  65.                 begin
  66.                         oDATA                  <=ENET_DATA ;
  67.                         oINT                <=ENET_INT ;        
  68.                         TMP_DATA        <=iDATA ;
  69.                         ENET_CMD        <=iCMD ;
  70.                         ENET_CS_N        <=iCS_N  ;
  71.                           ENET_RD_N        <=iRD_N  ;
  72.                         ENET_WR_N        <=iWR_N  ;
  73.                 end
  74.         end
  75.         always@(posedge iOSC_50)        

  76.         ENET_CLK <=  ~ENET_CLK ;
  77.           assign        ENET_RST_N = iRST_N ;

  78.    endmodule

复制代码


DM9000A引脚分配问题


未有加入信号相关的驱动信号,从错误的提示中可以看出,conduit_end这个信号没有相关时钟,中断号需要重新分配一下...
端口除了输入输出需要配置以外,它还有相应的依赖信号,比如,这个输出信号它用了其他的某个信号,这种关系像是依赖一样,比如,没有时钟输入,分频模块就没有意义,在应用别人的IP核的时候,还需要认真读读他人些的IP核使用手册,自己写的话,也需要纳入考虑中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top