1
0
mirror of https://github.com/myhdl/myhdl.git synced 2024-12-14 07:44:38 +08:00
myhdl/example/manual/custom.py
2016-03-10 20:27:07 +01:00

54 lines
658 B
Python

import myhdl
from myhdl import *
def inc_comb(nextCount, count, n):
@always(count)
def logic():
# do nothing here
pass
nextCount.driven = "wire"
return logic
inc_comb.verilog_code =\
"""
assign $nextCount = ($count + 1) % $n;
"""
inc_comb.vhdl_code =\
"""
$nextCount <= ($count + 1) mod $n;
"""
def main():
m = 8
n = 2 ** m
count = Signal(intbv(0)[m:])
nextCount = Signal(intbv(0)[m:])
toVerilog(inc_comb, nextCount, count, n)
toVHDL(inc_comb, nextCount, count, n)
if __name__ == '__main__':
main()