永发信息网

Verilog中输入变量能用REG型吗?是不是input a;和reg a;在一个程序中就是连在一起的?可以用reg b;再b=a吗

答案:4  悬赏:30  手机版
解决时间 2021-01-19 05:21
Verilog中输入变量能用REG型吗?是不是input a;和reg a;在一个程序中就是连在一起的?可以用reg b;再b=a吗
最佳答案
输入信号是可以寄存的,但是需要设计一个寄存器。如果是在语言中编写的话,就需要一个reg型的中间变量来存储输入的input变量。
但是,是寄存器就需要触发,所以对应的,在verilog里最简单的办法就是利用always@()语句,将括号里的敏感变量设置为关于input的电平或者沿触发。
例如电平触发,always@(input1)begin input2<=input1 end
假设input1是输入变量的话,令input2是reg型变量即可。
欢迎追问~追问第一种情况:input input1;reg input1;第二种情况:input input1;reg input2;always@(input1)begin input2<=input1;end第一种情况也应该always@(input1)begin input1<=input1;end对吧?输出就不需要是吗?我的理解对吗。。不甚感激!追答不是很明白你的意思,输入变量,也就是input1是不能为reg型的,这是verilog里的设定,如果不满足会报错。
至于输出变量和中间变量,就可以视情况任意改为reg型变量了。而输入对于本模块而言是不能控制的,所以只能在其变化或者到达边沿的时候编程,通过寄存器进行保存。
全部回答
需要用always块
verilog里一般不声明输出类型的话 默认是wire型的如果你想在输出处寄存一下c3是reg型,你这个主函数是个testbench,子函数a,b,cin在testbench里面追问没有能明白。我是新手。。很多概念理解不了。。我只想搞懂能不能把输入信号寄存一下呀?
Verilog中输入变量不可以用reg类型,这是因为输入信号对你来说,你无法改变它的值,你只能应用这个值,所以说,你的这种想法根本无法实现。如果你想改变的话,可以在这个输入信号的上一级来做。
我不是很清楚你到底想做什么,还是仅仅问这个问题?如果你是做什么的话,就要改变思路了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
哪六个方面改善民生和创新社会治理
男人为什么喜欢让女人枕着他的手臂睡觉
王者荣耀排位队友还不如匹配坑比太多了,妈的
有没有这样的情头或闺头啊,求三张
请问高手“嫙”字属于什么五行?是金吗?
亚克力水族箱怎么加热,不怕烫坏么,还有,塑
从甲秀小学到体育官的作文150字
两税法实施初期,唐政府的财政收入增加了,增
从河津自已开车到韩城怎么走
珠海的k路公交车跟平常的有什么区别
增值税发票单价高开是为了什么?
一个铜镜,上面写的富贵双全,能值多少钱啊?
ae预设动画只有5秒,想这个内置预设一直循环播
我取得了en473(PCN)的UT MT PT资格证,5年后怎
我把魅蓝note2耳机孔旁边的一个小孔用取卡针
推荐资讯
1.25米x750是多少寸电视
某车间35天生产零件2112个,平均每天约生产多
卤菜怎么做?成都哪里有卤菜培训?
氮的四核单质分子形状
古代<<说文>>四大家的名字及代表作是什么?
己知l0个连续整数a1,a2,a3...,a10,在这10
这款一角币值多少钱?
圆直径小丽和小乐分别从AB处出发沿半圆走到CD
ruby怎么截取字符串的最后一行
求高尔基的《童年》好段
如何计算运沙船的装载重量
鹿泉名优超市儿童乐园淘气堡多少钱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?