Verilog中寄存器的定义
时间:10-02
整理:3721RD
点击:
我是FPGA的新手想请教一下Verilog中什么时候需要给变量定义寄存器。一开始我以为每个输入、输出都要定义没定义的话默认为一,但是今天看到一段代码输入变量[3:0] key_in并没有定义寄存器。
寄存器reg型号,需要在程序中进行直接赋值,如果数据是从别的文件中引用过来,就需要用wire定义。所有的变量都需要定义,否则容易报错误
寄存器是什么都不记得,只知道reg什么的
缺省默认为wire型变量
大神可否在详细点
输入变量只能是wire,不能定义成reg
thanks you
reg型与wire型用在不同的地方
寄存器定义是从加载的头文件开始的,比方说51芯片加载的reg51.h文件就是。在里面能找到sitb P0=0x80h等之类的代码。从IC的原理上讲,基本上市面上的IC都是遵循冯诺依曼理论的处理方式,就是靠操作码和操作数定义的指令和代码,操作码从16进制的00开始记录,操作数从80以后开始(大概都是这么定义的。),比方说做一次累加的ADD,IC在上电的情况下先取操作码,这个ADD的操作码可能在XX位置(这个是芯片做好后就固定了。)所以先讲指针放到xx位置执行,然后取操作数,操作数寄存在ram里面,地址在yy,然后将2个指针指向的电路链接起来,(应该是这样吧),结果就根据电路运算的结果出来了,然后复归数值到YY位置。