加班猫

如果我那天发财了,我会告诉你,我比你强的地方就是,我知道你不知道,你知道的都是废话。

xilinx block原理图模式注意三态门设计

0
阅读(606) 评论(0)

    我接触到zynq,就爱上了vivado的block原理图开发,但是这种原理图也是相当的恶心,一个问题很多参数不公开的,很多官方的IP 使用让你爽死,但是你自己定义就傻逼了。除非你有能力修改xml语言,修改参数。

    比如说到INOUT端口。我自己封装成axi4lite ip后。使用普通的代码, 做成双向端口,结果死活看不到数据。

    

   官方搜索也没有发现为什么。后来有个论坛告知要用IOBUF 声明,才能例化到顶层。  所以只能写下面代码。才生成INOUT的端口,注意IOBUF是1bit 。

    genvar i;

    generate

       for (i=0; i < 16; i=i+1)

       begin

            IOBUF #(

                  .DRIVE(8), // Specify the output drive strength

                  .IBUF_LOW_PWR("TRUE"), // Low Power - "TRUE", High Performance = "FALSE" 

                  .IOSTANDARD("DEFAULT"), // Specify the I/O standard

                  .SLEW("FAST") // Specify the output slew rate

                  ) IOBUF_inst 

                  (

                      .O(mem_data_i[i]), // Buffer output

                      .IO(mem_data[i]), // Buffer inout port (connect directly to top-level port)

                      .I(mem_data_o[i]), // Buffer input

                      .T(mem_data_t[i]) // 3-state enable input, high=input, low=output

                  ); 

            end

    endgenerate