diff --git a/src/main/java/syscamstranslator/SysCAMSTClock.java b/src/main/java/syscamstranslator/SysCAMSTClock.java index 3144723f9daf0ef8907240aa3744d8abf4cd2319..75032cf1afceb981d3c26610dc8098fba137e67a 100644 --- a/src/main/java/syscamstranslator/SysCAMSTClock.java +++ b/src/main/java/syscamstranslator/SysCAMSTClock.java @@ -67,7 +67,7 @@ public class SysCAMSTClock extends SysCAMSTComponent{ } - public String getName() { + public String getName() { return name; } @@ -98,6 +98,7 @@ public class SysCAMSTClock extends SysCAMSTComponent{ public void setName(String _name) { + System.out.println("@@@@@ setName "+_name); name = _name; } diff --git a/src/main/java/syscamstranslator/toSysCAMS/ClusterCode.java b/src/main/java/syscamstranslator/toSysCAMS/ClusterCode.java index 2b6f4654d54ce8e89dc9b43d03856df8627999d3..ed41a0f2cf63a98acf6eeefc90b066e9e6d81d4c 100644 --- a/src/main/java/syscamstranslator/toSysCAMS/ClusterCode.java +++ b/src/main/java/syscamstranslator/toSysCAMS/ClusterCode.java @@ -166,7 +166,7 @@ public class ClusterCode { corpsCluster = corpsCluster + CR + "\t// Instantiate clocks." + CR; for (SysCAMSTClock t : clock) { - System.out.println("@@@@@@@@@@@@@@@@@@@@@ "+t.getName()); + corpsCluster = corpsCluster + "\t sc_clock " + t.getName() + " (\"" + t.getName() + "\"," + t.getFrequency()+","+ t.getUnit()+","+ t.getDutyCycle()+","+ t.getStartTime()+","+ t.getUnitStartTime()+","+ t.getPosFirst()+");" + CR; } diff --git a/src/main/java/syscamstranslator/toSysCAMSCluster/PrimitiveCodeCluster.java b/src/main/java/syscamstranslator/toSysCAMSCluster/PrimitiveCodeCluster.java index e5b539b7b787a6c781a22307ed3bdac1248990bb..249df31b36b7a3f4d890851340e00ee18cc9b45f 100644 --- a/src/main/java/syscamstranslator/toSysCAMSCluster/PrimitiveCodeCluster.java +++ b/src/main/java/syscamstranslator/toSysCAMSCluster/PrimitiveCodeCluster.java @@ -445,6 +445,11 @@ public class PrimitiveCodeCluster { corpsPrimitiveDE = corpsPrimitiveDE + "\t};" + CR2; } + //DG 17.10. + if(de.getClockName()!="") + corpsPrimitiveDE = corpsPrimitiveDE + "\tsc_core::sc_in <bool>" + de.getClockName() + ";" + CR; + + if (!deports.isEmpty()) { for (SysCAMSTPortDE t : deports) { if (t.getOrigin() == 0) { @@ -507,6 +512,21 @@ public class PrimitiveCodeCluster { corpsPrimitiveDE = corpsPrimitiveDE + "\t{" + CR + "\t\tSC_METHOD(" + de.getNameFn() + ");" + CR; method = true; } + + + +//DG 17.10. + if(de.getClockName()!=""){ + corpsPrimitiveDE = corpsPrimitiveDE + "\t\tsensitive << " + de.getClockName() + "."; + if (de.getClockSensitiveMethod().equals("positive")) { + corpsPrimitiveDE = corpsPrimitiveDE + "pos();" + CR; + } else if (de.getClockSensitiveMethod().equals("negative")) { + corpsPrimitiveDE = corpsPrimitiveDE + "neg();" + CR; + } + } + //fin ajoute DG + + for (SysCAMSTPortDE t : deports) { if (t.getSensitive() == true) { diff --git a/src/main/java/ui/window/JDialogSysCAMSBlockDE.java b/src/main/java/ui/window/JDialogSysCAMSBlockDE.java index 0837525b20d97f38aa8a5a9ccf463e1008b0489e..b5a3fc7a7cba5173bb3deff686b839461bd8ab2c 100644 --- a/src/main/java/ui/window/JDialogSysCAMSBlockDE.java +++ b/src/main/java/ui/window/JDialogSysCAMSBlockDE.java @@ -299,6 +299,25 @@ public class JDialogSysCAMSBlockDE extends JDialog implements ActionListener, Li attributesBoxPanel.add(clockTextField); +JPanel sensitivePanel = new JPanel(new FlowLayout()); + + sensitiveRadioButton = new JRadioButton(); + sensitiveRadioButton.setActionCommand("Sensitive"); + sensitiveRadioButton.setSelected(block.getSensitive()); + sensitiveRadioButton.addActionListener(this); + sensitivePanel.add(sensitiveRadioButton); + + JLabel sensitiveLabel = new JLabel("Sensitive"); + sensitivePanel.add(sensitiveLabel); + + constraints = new GridBagConstraints(0, 4, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, + new Insets(15, 10, 5, 10), 0, 0); + gridBag.setConstraints(sensitivePanel, constraints); + attributesBoxPanel.add(sensitivePanel); + + + //JLabel labelClock = new JLabel("Clock sensitivity : "); + listSensitiveString = new String[3]; listSensitiveString[0] = ""; listSensitiveString[1] = "positive";