srinukasam wrote:
i designed a memory of 64 bit width( each memory location). and i want to
read that loaction by 16 bit (0-15 bit first then 16-31 ...)
Hmm ... a 64 bit memory that is accesses with a 16 bit wide bus seems to
me beeing just a 16 bit memory. You as the designer can have in mind,
that 4 words are logically grouped to a 64 bit value, but for hardware
it is just a 16 bit memeory.
-----------------------------------------------------
address 0x0 : 16 bit word A1 |
address 0x1 : 16 bit word A2 | group of words
address 0x2 : 16 bit word A3 | for 64 bit value A
address 0x3 : 16 bit word A4 |
-----------------------------------------------------
address 0x4 : 16 bit word B1 |
address 0x5 : 16 bit word B2 | group of words
address 0x6 : 16 bit word B3 | for 64 bit value B
address 0x7 : 16 bit word B4 |
-----------------------------------------------------
Did I understand you right?
or after
reading the 64 bit i want to divide that by 16 bit each.
Do you want to divide the 64 bit wide number by a 16 bit wide number or
do you want to divide the 64 bit wide number by 16?
Dividing by 16 is just shifting 4 bits to the right. Dividing by a 16
bit wide number is quite complex in hardware.
If you want to divide your 64 bit dividend by a known divisor, just
multiply the dividend by the inverse of the divisor which is much easier.
What about the fractions? Do you need floating point precision or is
fixed point precision suitable?
after that i want
to comapre this 16 bit data with input data(16 bit).
if (signal_A = signal_B) then
-- do some stuff
-- ... and so on
Ralf