added verilog conversion script
This commit is contained in:
parent
0abc47f682
commit
3c3f02995d
|
@ -0,0 +1,140 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 26,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import re\n",
|
||||
"\n",
|
||||
"with open('/home/p305119/libraries/xp018/actlib_dataflow_neuro/test/unit_tests/texel_small.v') as f:\n",
|
||||
" veri = f.read()\n",
|
||||
" \n",
|
||||
"\"remove all std/acell modules\"\n",
|
||||
"\n",
|
||||
" \n",
|
||||
"mod = re.findall(r'(?<=\\n)module [^A-Z(]*[A-Z][A-Z0-9_]*\\([\\s\\S]*?endmodule', veri)\n",
|
||||
"\n",
|
||||
"for i in mod: \n",
|
||||
" \n",
|
||||
" veri = veri.replace(i, \"\")\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"std = re.findall(r'((\\S*)(TBUF\\d*|INV|N?AND\\d|N?OR\\d|TIELO|TIEHI|MUX\\d|OAI\\d*|AOI\\d*|(?<!T)BUF\\d*|DLY\\d*|KEEP\\d*)(__X\\d))', veri)\n",
|
||||
"\n",
|
||||
"\"\"\"replace all stdcell names\"\"\"\n",
|
||||
"\n",
|
||||
"for j in list(set(std)):\n",
|
||||
" veri = veri.replace(j[0], j[2] + j[3][1:])\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"keep = re.findall(r'((\\S*)(KEEP\\d*)())', veri)\n",
|
||||
"\n",
|
||||
"\"\"\"Replace all KEEPs\"\"\"\n",
|
||||
"\n",
|
||||
"for j in list(set(keep)):\n",
|
||||
" veri = veri.replace(j[0], j[2] + j[3][1:])\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"acell = re.findall(r'(\\S*)(A_[1234CPNRSUB_]{2,12}(_X\\d)?\\b(?=[^<>]))', veri)\n",
|
||||
"\n",
|
||||
"for j in list(set(acell)):\n",
|
||||
" veri = veri.replace(j[0] + j[1], j[1].replace('__', '_'))\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"arb = re.findall(r'(\\S*)(ARBITER)', veri)\n",
|
||||
"\n",
|
||||
"for j in list(set(arb)):\n",
|
||||
" veri = veri.replace(j[0] + j[1], 'ARBITER')\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"pullu = re.findall(r'(\\S*)(PULLUP__X4)', veri)\n",
|
||||
"\n",
|
||||
"for j in list(set(pullu)):\n",
|
||||
" veri = veri.replace(j[0] + j[1], 'PULLUP_X4')\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"pulld = re.findall(r'(\\S*)(PULLDOWN__X4)', veri)\n",
|
||||
"\n",
|
||||
"for j in list(set(pulld)):\n",
|
||||
" veri = veri.replace(j[0] + j[1], 'PULLDOWN_X4')\n",
|
||||
" \n",
|
||||
"veri = veri.replace('));', '), .vdd(vdd), .vss(vss));')\n",
|
||||
"\n",
|
||||
"vddvss = re.findall(r'(?<=\\n)(module [\\([\\s\\S]*?;)', veri)\n",
|
||||
"\n",
|
||||
"for j in list(set(vddvss)):\n",
|
||||
" veri = veri.replace(j, j[:-2] + \", vdd, vss); \\n input vdd;\\n input vss;\")\n",
|
||||
" \n",
|
||||
"# veri = veri.replace('[', '')\n",
|
||||
"veri = veri.replace('_0_0t', 't')\n",
|
||||
"\n",
|
||||
"hierac = re.findall(r'(\\\\\\S* )', veri)\n",
|
||||
"\n",
|
||||
"for j in list(set(hierac)):\n",
|
||||
" temp = j.replace(']', '')\n",
|
||||
" temp = temp.replace('[', '')\n",
|
||||
" temp = temp.replace('.', '_')\n",
|
||||
" temp = temp.replace('\\\\', 'I')\n",
|
||||
" \n",
|
||||
" veri = veri.replace(j, temp)\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"with open('/home/p305119/libraries/xp018/actlib_dataflow_neuro/test/unit_tests/texel_small_clean.v', 'w') as w:\n",
|
||||
" w.write(veri)\n",
|
||||
"\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.7.3"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
Loading…
Reference in New Issue