Anand, Thanks. I am sure that this C like operation should work, I have not yet checked it though. Deepak
On Fri, Sep 19, 2008 at 6:47 PM, Anand Chitipothu <[EMAIL PROTECTED]>wrote: > On Sat, Sep 20, 2008 at 4:32 AM, Deepak Patel <[EMAIL PROTECTED]> > wrote: > > Hello all, > > > > I want to a write a method in Python to poll a register for '1' or '0'. > It > > is kind of very simple in verilog, but not sure if python provides > > flexibility or not. > > > > My algorithm (kind of Verilog syntax where I can access the bits without > any > > extra processing) is as follows: > > > > poll_reg ( input bit_pos, input poll_val, reg_offset) > > { > > // In this bit_pos is the position of bit in my register read which are > > being polled to become poll_val. Poll_val can be either 0 or 1. > > > > matched = 0; > > while (matched != 1) > > begin > > read_data = read_reg(reg_offset); > > if (read_data[bit_pos] == poll_val) > > begin > > matched = 1; > > end > > else > > begin > > matched = 0; > > end > > end > > } > > This is more C-like bit operation. You need to get a mask by right > shiting 1 by bit_pos and do binary AND with the register value. > > def poll_reg(bit_pos, poll_val, reg_offset): > mask = 1 << bit_pos > while read_read(reg_offset) & mask == poll_val: > continue > _______________________________________________ > BangPypers mailing list > BangPypers@python.org > http://mail.python.org/mailman/listinfo/bangpypers >
_______________________________________________ BangPypers mailing list BangPypers@python.org http://mail.python.org/mailman/listinfo/bangpypers