考虑以下示例(一个简单的8位计数器),是否有更简单的方法将内部s_count
信号连接到o_count
端口?
def counter(i_clk, i_reset, o_count):
""" A free-running 8-bit counter with a synchronous reset """
s_count = Signal(intbv(0)[8:])
@always(i_clk.posedge)
def count():
if i_reset == 1:
s_count.next = 0
else:
s_count.next = s_count + 1
@always_comb
def outputs():
o_count.next = s_count
return count, outputs
当然,我可以在o_count
函数中直接递增count
,但这会转换为生成的VHDL模块中的inout
端口,这是我不想要的。
答案 0 :(得分:3)
我怀疑直接递增o_count是一个可以接受的解决方案。
实际上,它转换为inout,因为您无法在VHDL中读取输出端口。
但是,只有将此模块转换为顶层模块时才会发生这种情况。然而,这可能是一个小的子模块。在这种情况下,层次结构将被展平,o_count将成为内部信号。