Research Article
Task-Level Data Model for Hardware Synthesis Based on Concurrent Collections
parameter_list ->data_domain : subscript_vector> | {subscript_vector range}; | parameter_list ->iterator_domain : iterator_vectoriterator_vector range}; | <data_domain:: type data_name; | <iterator_domain:: (task_name); | e.g. | // A[100][50] | <A_dom : A0, A1>{0<=A0; A0<100; 0<=A1; A1<50;}; | <A_dom: double A; | // for (i=0; i<p; i++) task1(i); | p -task1_dom : i>{0<=i; i<p;}; | <task1_dom: (task1); | // while (res > 0.1) {res = task2();} | res -> task2_dom : t{cond(res > 0.1)}; | <task2_dom: (task2); |
|