US 11,914,989 B2
Multiprocessor programming toolkit for design reuse
Stephen E. Lim, Scotts Valley, CA (US); Viet N. Ngo, Austin, TX (US); Jeffrey M. Nicholson, Lakeville, MN (US); John Mark Beardslee, Menlo Park, CA (US); Teng-I Wang, Yorba Linda, CA (US); Zhong Qing Shang, Cupertino, CA (US); and Michael Lyle Purnell, Scotts Valley, CA (US)
Assigned to Coherent Logix, Incorporated, Austin, TX (US)
Filed by Coherent Logix, Incorporated, Austin, TX (US)
Filed on Oct. 28, 2021, as Appl. No. 17/513,336.
Application 17/513,336 is a continuation of application No. 16/818,007, filed on Mar. 13, 2020, granted, now 11,163,558.
Application 16/818,007 is a continuation of application No. 15/872,421, filed on Jan. 16, 2018, granted, now 10,592,233, issued on Mar. 17, 2020.
Application 15/872,421 is a continuation of application No. 14/047,135, filed on Oct. 7, 2013, granted, now 9,904,542, issued on Feb. 27, 2018.
Claims priority of provisional application 61/722,850, filed on Nov. 6, 2012.
Prior Publication US 2022/0050676 A1, Feb. 17, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 8/71 (2018.01); G06F 8/41 (2018.01); G06F 8/60 (2018.01)
CPC G06F 8/71 (2013.01) [G06F 8/443 (2013.01); G06F 8/60 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable medium that stores software code deployable on a multiprocessor array (MPA), wherein the software code comprises a set of program instructions that:
specify one or more cell definitions that include:
program instructions executable to perform a function; and
one or more language constructs; and
instantiate first, second, and third cell instances, each of which is an instantiation of one of the one or more cell definitions, wherein the instantiation includes configuration of the one or more language constructs such that:
the first and second cell instances communicate via respective communication ports;
the first and second cell instances are included in the third cell instance;
a communication port of the first cell instance is coupled to a first communication port of the third cell instance; and
a communication port of the second cell instance is coupled to a second communication port of the third cell instance different from the first communication port of the third cell instance.