From 227ff2424d5de4046620bf47950a8cc996f963af Mon Sep 17 00:00:00 2001 From: Daniela Genius <genius@debussy.soc.lip6.fr> Date: Thu, 17 Oct 2019 17:04:06 +0200 Subject: [PATCH] added choice menu for clocks --- .../java/syscamstranslator/SysCAMSTClock.java | 3 ++- .../toSysCAMS/ClusterCode.java | 2 +- .../PrimitiveCodeCluster.java | 20 +++++++++++++++++++ .../java/ui/window/JDialogSysCAMSBlockDE.java | 19 ++++++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/main/java/syscamstranslator/SysCAMSTClock.java b/src/main/java/syscamstranslator/SysCAMSTClock.java index 3144723f9d..75032cf1af 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 2b6f4654d5..ed41a0f2cf 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 e5b539b7b7..249df31b36 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 0837525b20..b5a3fc7a7c 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"; -- GitLab