Verilog中输入变量不可以用reg类型,这是因为输入信号对你来说,你无法改变它的值,你只能应用这个值,所以说,你的这种想法根本无法实现。如果你想改变的话,可以在这个输入信号的上一级来做。
我不是很清楚你到底想做什么,还是仅仅问这个问题?如果你是做什么的话,就要改变思路了。
输入信号是可以寄存的,但是需要设计一个寄存器。如果是在语言中编写的话,就需要一个reg型的中间变量来存储输入的input变量。
但是,是寄存器就需要触发,所以对应的,在verilog里最简单的办法就是利用always@()语句,将括号里的敏感变量设置为关于input的电平或者沿触发。
例如电平触发,always@(input1)begin input2<=input1 end
假设input1是输入变量的话,令input2是reg型变量即可。
欢迎追问~
verilog里一般不声明输出类型的话 默认是wire型的如果你想在输出处寄存一下c3是reg型,你这个主函数是个testbench,子函数a,b,cin在testbench里面
需要用always块