\r
#include "Parameters.h"\r
#include "Exception.h"\r
+#include "ReferenceBlock.h"\r
+#include "IfacePurposeDelegate.h"\r
\r
class VHDLConverter : public QWidget {\r
Q_OBJECT\r
private:\r
QPushButton* loadBut;\r
QPushButton* genBut;\r
- \r
- // clk & rst ports related\r
- QTextEdit* clkNameEdit;\r
- QTextEdit* rstNameEdit;\r
- QComboBox* clkCombo;\r
- QComboBox* rstCombo;\r
- \r
+\r
+ // entity related\r
+ QString entityName;\r
+ QString longName;\r
+ QLineEdit* editEntityName;\r
+ QLineEdit* editLongName;\r
+\r
// data ports related\r
- QScrollArea *scrollDataPort; \r
- QTableWidget* twDataPort;\r
- \r
- // wishbone ports related\r
- QScrollArea *scrollWBPort; \r
- QTableWidget* twWBPort;\r
+ QScrollArea *scrollPorts;\r
+ QTableWidget* twPorts;\r
+ IfacePurposeDelegate* purposeDelegate;\r
\r
// generics related\r
QScrollArea* scrollGenerics; \r
QTableWidget* twGenerics;\r
+ \r
+ // arch related\r
+ QString archName;\r
+ QList<QString> archLines;\r
\r
- int cptIn, cptOut, cptInout, cpt;\r
- QRegExp *rxPort, *rxEnt, *rxArch, *rxComp, *rxComment, *rxComma,\r
- *rxEndComp, *rxEnd, *rxGeneric, *rxEndGen, *rxGen, *rxConst, *rxWidth;\r
- QString fileName, txt, s, entName, brief, desc; \r
- \r
- QHash<QString,QList<QString>* > packages;\r
- \r
- QWidget *wid;\r
+ // libraries related\r
+ QHash<QString,QList<QString>* > packages; \r
\r
- QTextEdit *teBrief, *teDesc, *teName;\r
+ QTextEdit *teBrief, *teDesc;\r
\r
- void readLibraries(QTextStream& in) throw(Exception);\r
- void readEntity(QTextStream& in) throw(Exception);\r
+ ReferenceBlock* block;\r
+\r
+ QList<AbstractInterface*> lstIface;\r
+\r
+ QString readLibraries(QTextStream& in) throw(Exception);\r
+ QString readEntity(QTextStream& in) throw(Exception);\r
void readGenerics(QTextStream& in) throw(Exception);\r
void readPorts(QTextStream& in) throw(Exception);\r
void readArchitecture(QTextStream& in) throw(Exception);\r
\r
QString skipBlankAndComments(QTextStream& in);\r
- \r
+\r
+ void generateRefXml(QDomDocument& doc);\r
+ void generateImplXml(QDomDocument& doc);\r
+ void replaceSignalNames(QString& line);\r
+\r
+ void updateArchitecture();\r
+\r
signals:\r
\r
public slots:\r
void loadVHDLFile();\r
void generateXml();\r
+\r
+private slots:\r
+ void searchAssociatedPort(QTableWidgetItem* item);\r
};\r
\r
#endif // __VHDLCONVERTER_H__\r