- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Number of 4 input LUTs OVERMAPPED
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-11-2012 12:57 AM
Communication receive setting values and stores in registers
and FPGA uses those values for internal working.
i think this will use fewer resources but it isn't.
here is a simple code of my think
=============================================
module TEST(
input clk,
// receive data from communication module
input [7:0] addr,
input [15:0] data,
// values for FPGA internal uses
output [15:0] value0,
output [15:0] value1,
// ........
);
// register for store values
reg [2047:0] MAIN_REG;
// store values in resiger
always @ (posedge clk)begin
MAIN_REG[(addr*16)+:16] <= data;
end
// output values for FPGA use
assign value0 = MAIN_REG[(para_value0*16)+:16];
assign value1 = MAIN_REG[(para_value1*16)+:16];
// ......................
endmodule
==========================================
FPGA is xc3s700an
in actual code, in Device Utilization Summary,
Number of Slice Flip Flops : 33%
Number of 4 input LUTs : 142%(OVERMAPPED)
Number of occupied Slices : 156%(OVERMAPPED)
Total Number of 4 input LUTs : 148%(OVERMAPPED)
i think very inefficiencies in store & output values.
i'm looking for an efficient way... please help me
Re: Number of 4 input LUTs OVERMAPPED
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-11-2012 02:38 AM
What version of ISE tools are you using?
------------------------------------------
"If it don't work in simulation, it won't work on the board."
Re: Number of 4 input LUTs OVERMAPPED
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-11-2012 06:02 AM
Your memory has two read ports - each one is a 16-wide 128:1 multiplexer. That's what is eating up your
LUT resources. This is exactly the sort of thing that a block RAM does well. Why would you think that using
flip-flops would recude resource usage?
-- Gabor
Re: Number of 4 input LUTs OVERMAPPED
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-11-2012 07:34 AM
You are inferring a RAM incorrectly. See the ISE Language templates in ISE Navigator (click on the lightbulb icon) for synthesis construct coding examples.
Have you defined "para_value0" and "para_value1"?
Are you writing to RAM on every clock cycle?
-- Bob Elkind
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369
Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
Re: Number of 4 input LUTs OVERMAPPED
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-11-2012 08:01 PM
Thank you for the answer.
my project have ADCs and DACs
so i have to store each channels gain, offset and user changable values and so on..
problem is those values come from communication channel.
so FPGA have to store those values in FPGA registers,
because all values are used at the same time, i cannot use BRAM.
actually, I'm a student learning FPGA, my think is might be wrong.
i'm not sure you understand my intention, but i hope your advice.. :-)
Re: Number of 4 input LUTs OVERMAPPED
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-11-2012 08:18 PM
so i have to store each channels gain, offset and user changeable values and so on.. problem is those values come from communication channel. so FPGA have to store those values in FPGA registers, because all values are used at the same time, i cannot use BRAM.
If you look at your original code, only two registers can be accessed concurrently. This contradicts the reasoning that a BRAM cannot be used.
Perhaps you need to re-organise your design approach, with a better understanding of what connections (datapaths) are essential and which are not.
-- Bob Elkind
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369
Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.











