展開Verilog BUS訊號名的方法

2021-07-25 03:38:31 字數 1343 閱讀 7640

假如我有一些訊號需要展開,訊號的格式如下所示:

input.file

hello/my/name/is/bbbbb[0:7]

hello/my/name/is/ccccc[3:3]

hello/my/name/is/ddddd

展開之後的格式如下所示:

hello/my/name/is/aaaaa[8]

hello/my/name/is/aaaaa[7]

~~~此處省略若干行~~~

hello/my/name/is/ccccc[1]

hello/my/name/is/ccccc[0]

hello/my/name/is/ccccc[3]

hello/my/name/is/ddddd

下面的python指令碼(python2)可以實現這個功能:

expand_bus_bits.py

#!/usr/bin/python

import re

fh = open('./input.file')

for line in fh.readlines():

# print line

m = re.match(r'(.*)\[(\d+):(\d+)\]', line)

if m:

signal_name = m.group(1)

index0 = int(m.group(2))

index1 = int(m.group(3))

# print signal_name

# print index0

# print index1

# print signal_name + "[" + str(index0) + ":" + str(index1) + "]"

if (index0 > index1):

while (index0 >= index1):

print signal_name + "[" + str(index0) + "]"

index0 = index0 - 1

elif (index0 < index1):

while (index0 <= index1):

print signal_name + "[" + str(index1) + "]"

index1 = index1 - 1

else:

print signal_name + "[" + str(index0) + "]"

else:

print line

執行的結果預設輸出到螢幕上。

zTree非同步載入展開第一級節點的實現方法

在 setting 中的 callback 中加上 onasyncsuccess onasyncsuccess 函式 然後實現 函式 var isfirst true function onasyncsuccess event,treeid 程式設計客棧 下面在給大家分享ztree獲取當前節點的下一...

開啟mysql服務提示服務名無效的解決方案

在windows2000下,安裝完成後,並沒有把mysql安裝成服務,我們必須執行下面的語句把mysql註冊為服務 installdirmysqlbinmysqld nt install。windows98下沒有服務的概念,所以不用安裝服務。2 啟動mysql服務 在windows2000下,安裝服...

apache隱藏 混淆php字尾名的幾種方法

經常看見有些 www.com kkk或者www.com kkk.jsp這樣訪問,其實kkk可能是個php指令碼檔案,被隱藏了或者混淆了.php字尾,這樣至少不會讓別人一眼看出 是php寫的。那麼如何實現呢?方法有如下幾種 1 混淆 將您的kkk.php儲存為kkk.asp或者kkk.jsp等引人混淆...