Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

problem in synthesis

Status
Not open for further replies.

win2010

Member level 1
Member level 1
Joined
Sep 30, 2010
Messages
35
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,605
I`m designing interleaver so need to store 64800 bits and also do circular shift using formula and output those values bit by bit....
 

yes, this is DVB-T2 interleaver. I need to store the bits in RAM i.e. 64800 and also depending on the ROW and column need to shift circularly. But by using the RAM it is finding difficult. So, need solution is their any method to overcome this.
I also tried to find out input and output relation but while generalizing thing finding difficult.

Thank you.....
 

If its circular couldn't you do shifting operation on RAM addresses instead of RAM content ?

Anyway the most nature way would be just to use RAM with some FSM that will do the circular read write
 
i remember we also did'nt find any direct relation between so we make a ROM containing addressing of the data ex.
Code:
module romm1(i,x);
input [13:0] i;
output reg [13:0] x;


always @ (i)
begin
case(i)
0 : x = 0;
1 : x = 2025;
2 : x = 4050;
3 : x = 11677;
4 : x = 8158;
5 : x = 13463;
6 : x = 10094;
7 : x = 15699;
8 : x = 1;
9 : x = 2026;
10 : x = 4051;
.
.
.
.
.
.

- - - Updated - - -

we make this using matlab
 
How you implemented column twisting(circular shift) which depends on twisting parameter and using RAM in DVB-T2 interleaver...?
 

I go with what you given code but which is also not going to synthesizing and taking long time.

case x is
when 32400 => index <= 32400 ;
when 32401 => index <= 32490 ;
when 32402 => index <= 32580 ;
when 32403 => index <= 32670 ;
when 32404 => index <= 32760 ;
when 32405 => index <= 32850 ;
.
.
.
.
.when 64799 => index <= 64799 ;
when others=> null;
end case;

These are about 32400 lines of case statements......

What is the solution for this ....?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top