From: liming x. <lm...@gm...> - 2012-10-20 21:18:37
|
Dear All: My name is Liming Xiu. I am a professional in the field of VLSI circuit design. I am the inventor of an important frequency synthesis architecture: Flying-Adder frequency synthesis architecture. You can google seach this technology by using key word “Flying-Adder frequency synthesis architecture” or “Flying-Adder frequency PLL”. This invention is summarized in my newly published book: “Nanometer Frequency Synthesis beyond the Phase Locked Loop” http://www.wiley.com/WileyCDA/Section/id-WILEY2_SEARCH_RESULT.html?query=xiu One of the key components in this technology is the Flying-Adder circuit. Although this circuit was invented in later 1990 and has been used in commercial products for over a decade and generates over one billion dollar revenue, the circuit itself is not familiar to many circuit designers. The key reason is that this circuit is very complex, it is hard to be understood. Thus, I want to use VPython to illustrate the working principle of this circuit so that designers can see the working of this circuit visually. I have decent programming experience in C and Perl, but not in Object Oriented Program such as Python and VPython. In the past few months, I have studied the Python and VPython by reading books and studying examples. But when I start to model this Flying-Adder circuit, I am feeling the pain now :-) I wonder if anyone in this mail list could help me on this project? This project is to model a real circuit that has been used in numerous commercial VLSI chips. The details can be found in chapter four of the above mentioned book. This project is a 2D programming. Thus, it should be a simple case for people who are familiar with VPython. If you are willing to help me, I will not ask too much time from you. May be ~ 30 minutes every a few days. The circuit will be explained step by step and the code will be constructed step by step, accordingly. Please send me email, lm...@gm..., if you are interested in helping me. Thanks in advance Liming Xiu By the way, below is the code that is built by Bruce Sherwood for me (thanks, Bruce). It is the very first part of this project. ------------------------------------------------------------------------------------ from __future__ import division from visual import * N = 8 # fov = field of view; small fov means camera far from scene display(width=1200, height=640, range=8, fov=0.01, title='Flying-Adder Syntheszier Input Signals', background=color.gray(0.5) ) pulses = [] k = 5 T = 2*pi/k dx = T/N colors = [color.red, color.green, color.blue, color.yellow, color.cyan, color.magenta,color.orange, color.white] for i in range(N): pulses.append(curve( x = arange(-10,10,0.01),radius=0.04,color=colors[i])) # multiply by 0.99 to guard against possible ceil glitch; -0.25 to center the pulse vertically pulses[i].y = 0.5*ceil(0.99*sin( k*(pulses[i].x+i*dx)))+N/2-i*N/8-0.75 t = 0 dt = T/800 while True: rate(200) for p in pulses: p.x += dt t += dt if t >= T: t = 0 for p in pulses: p.x -= T |