Jesuraj vinoth wrote:
> --- In [email protected], Thomas Hruska <[EMAIL PROTECTED]> wrote:
>> Jesuraj vinoth wrote:
>>> I am trying to convert code written in verilog to C. I need to 
> convert 
>>> the following line present in verilog to C.  
>>>
>>>  data = { 8'b00000001, a, 1'b0, b, 16'h1234 }
>>>
>>>  were data is 32-bit , a and b are 3 bit. The a and b are given 
>>> different 3 bit values (i.e 0 to 7) down the code.
>>> Can anyone help me on this?
>> Bitwise 'or'?
>>
>> data = 0x01000000 | ((a & 0x07) << 4) | 0x00080000 | (b & 0x07) | 
>> 0x00001234;
>>
>> Or something like that.  Although, it appears to be missing a bit 
>> (totals to 31 bits).
>>
>> -- 
>> Thomas Hruska
>> CubicleSoft President
>> Ph: 517-803-4197
>>
>> *NEW* MyTaskFocus 1.1
>> Get on task.  Stay on task.
>>
>> http://www.CubicleSoft.com/MyTaskFocus/
>>
> 
> Thanks Thomas.
> The assignment i used was:
> data = 0x01000000 | ((i & 0x00000007) << 20 ) | ((j & 0x00000007) 
> <<16) | 0x00000050 ;
> 
> btw it was 32 bit data.

Oops.  I don't know why I only shifted 4.  But as long as you got it 
working...

-- 
Thomas Hruska
CubicleSoft President
Ph: 517-803-4197

*NEW* MyTaskFocus 1.1
Get on task.  Stay on task.

http://www.CubicleSoft.com/MyTaskFocus/

Reply via email to