LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: Umair Siddiqui<umairsiddiqui84@g...>
    Date: Wed Nov 14 13:00:21 CET 2007
    Subject: [oc] A Virtex-5 slice utilization problems
    Top
    According Virtex 5 User Guide (ug190.pdf):
    -----------------------------------------------------
    Each slice has an F8MUX. F8MUX combines the outputs of F7AMUX and
    F7BMUX to form a combinatorial function up to 27 inputs (or a 16:1
    MUX). Only one 16:1 MUX can be implemented in a slice, as shown in
    Figure 5-23.
    ===========================================
    Now I code

    module mux16
    (
    input clk,
    input [3:0] sel,
    input [15:0] in,
    output reg q
    );

    always @(posedge clk) begin
    case (sel)
    4'd0 : q <= in[0 ];
    4'd1 : q <= in[1 ];
    4'd2 : q <= in[2 ];
    4'd3 : q <= in[3 ];
    4'd4 : q <= in[4 ];
    4'd5 : q <= in[5 ];
    4'd6 : q <= in[6 ];
    4'd7 : q <= in[7 ];
    4'd8 : q <= in[8 ];
    4'd9 : q <= in[9 ];
    4'd10 : q <= in[10];
    4'd11 : q <= in[11];
    4'd12 : q <= in[12];
    4'd13 : q <= in[13];
    4'd14 : q <= in[14];
    4'd15 : q <= in[15];
    default: q <= 1'b0;
    endcase
    end

    endmodule
    ===========================================
    I'm getting following result using Xilinx ISE 9.2.02i (IO buffers are
    not required) => 6 slices

    and also notice there is no F8MUX!

    ================================
    * Final Report *
    ================================
    Final Results
    RTL Top Level Output File Name : mux16.ngr
    Top Level Output File Name : mux16
    Output Format : NGC
    Optimization Goal : Area
    Keep Hierarchy : NO

    Design Statistics
    # IOs : 22

    Cell Usage :
    # BELS : 7
    # LUT3 : 1
    # LUT6 : 4
    # MUXF7 : 2
    # FlipFlops/Latches : 1
    # FD : 1
    =================================


    Device utilization summary:
    ---------------------------

    Selected Device : 5vlx220tff1738-2


    Slice Logic Utilization:
    Number of Slice Registers: 1 out of 138240 0%
    Number of Slice LUTs: 5 out of 138240 0%
    Number used as Logic: 5 out of 138240 0%

    Slice Logic Distribution:
    Number of Bit Slices used: 6
    Number with an unused Flip Flop 5 out of 6 83%
    Number with an unused LUT: 1 out of 6 16%
    Number of fully used Bit Slices: 0 out of 6 0%
    Number of unique control sets: 1

    IO Utilization:
    Number of IOs: 22
    Number of bonded IOBs: 0 out of 680 0%

    ===========================================
    Problem is that I need to make a arbiter handling 64 requesters @ 250
    Mhz. I was estimating that 64 bit 64:1 (with registered intermediate
    stages) should take 64*5=320 slices. I've not yet started coding...but
    it seems useless :-(

    Follow upAuthor
    [oc] Re: A Virtex-5 slice utilization problemsUmair Siddiqui

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.