LCG.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/usr/bin/python3
  2. # This file was automatically generated from drawio2cbd with the command:
  3. # /home/red/git/DrawioConvert/__main__.py LCG.xml -av -F CBD -e LCG -t 100
  4. from pyCBD.Core import *
  5. from pyCBD.lib.std import *
  6. from pyCBD.lib.endpoints import SignalCollectorBlock
  7. class LCG(CBD):
  8. def __init__(self, block_name, a=(1), c=(4), x0=(0), m=(9)):
  9. CBD.__init__(self, block_name, input_ports=[], output_ports=[])
  10. # Create the Blocks
  11. self.addBlock(ConstantBlock("a", value=(a)))
  12. self.addBlock(ConstantBlock("x0", value=(x0)))
  13. self.addBlock(ConstantBlock("c", value=(c)))
  14. self.addBlock(ConstantBlock("m", value=(m)))
  15. self.addBlock(DelayBlock("delay"))
  16. self.addBlock(ProductBlock("mult"))
  17. self.addBlock(AdderBlock("sum"))
  18. self.addBlock(ModuloBlock("mod"))
  19. self.addBlock(SignalCollectorBlock("collector"))
  20. # Create the Connections
  21. self.addConnection("x0", "delay", input_port_name='IC', output_port_name='OUT1')
  22. self.addConnection("a", "mult", input_port_name='IN1', output_port_name='OUT1')
  23. self.addConnection("delay", "mult", input_port_name='IN2', output_port_name='OUT1')
  24. self.addConnection("mult", "sum", input_port_name='IN1', output_port_name='OUT1')
  25. self.addConnection("c", "sum", input_port_name='IN2', output_port_name='OUT1')
  26. self.addConnection("m", "mod", input_port_name='IN2', output_port_name='OUT1')
  27. self.addConnection("sum", "mod", input_port_name='IN1', output_port_name='OUT1')
  28. self.addConnection("mod", "delay", input_port_name='IN1', output_port_name='OUT1')
  29. self.addConnection("mod", "collector", input_port_name='IN1', output_port_name='OUT1')