MyHDL 是個用 Python 的 HW simulator, 使用者可寫個類似像 Verilog 的 Python 語法, 之後在透過 Python 的 virtual machine 來做 simulation. 如果你夠懶, MyHDL 還提供 translator 的方式幫你把 Python 轉成 Verilog/VHDL.
ACTIVE_LOW, INACTIVE_HIGH = 0, 1
def Inc(count, enable, clock, reset, n):
""" Incrementer with enable.
count -- output
enable -- control input, increment when 1
clock -- clock input
reset -- asynchronous reset input
n -- counter max value
"""
@always(clock.posedge, reset.negedge)
def incLogic():
if reset == ACTIVE_LOW:
count.next = 0
else:
if enable:
count.next = (count + 1) % n
return incLogic
ps: 個人還是覺得用 SystemVerilog / SystemC 就 ok 了, 畢竟這還是主流. 至少有 EDA tool的廠商 support. 不過 Python 還真是好物, 可以用的 Lib 還真多, 不需要考慮物件的 type 跟 Memory release... 的問題. 多學點東西也是好的啦...XD
ref:
http://www.myhdl.org/doc/current/
您好, 我是 PyHUG(Python Hsinchu User Group) 的 co-organizer, 我們對於你在 EDA 以及 Python MyHDL 上面的知識非常有興趣, 想邀請你來 PyHUG 作一場演講, 不知道方便嗎?我也非常希望能夠與您交流一下。
回覆刪除jjhuang, or Albert Huang
歡迎交流阿,演講時間確定是哪時候呢, 有聚會也可通知一聲
刪除嗨,很高興有機會跟你交流,我們是透過 meetup 來公布議程,http://www.meetup.com/pythonhug/ 我在裡面的帳號也是 Chun-Chieh Huang, 就麻煩你先加入 meetup 跟我洽談後續事宜,我們聚會時間是每個月的第一與第三個星期一,想邀請你在十二月份來演講,謝謝!
刪除Albert Huang(Chun-Chieh Huang)