在verilog寄存器型51单片机中变量定义的关键字问题


你对这个回答的评价是

下载百喥知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

分类专栏: 文章标签:

版权声明:本文为博主原创文章遵循

版权协议,转载请附上原文出处链接和本声明

  • 因为之前每次在寄存器地址中使用变量想动态的控制寄存器時,都会报错


导致每次只能使用一个副本寄存器去暂存然后移位后控制固定的寄存器位置,但是这样写起来较为麻烦考虑到Verilog肯定不会這么低能,所以查阅了一些资料后发现果然有可以动态控制的方法

  • Verilog里只是前后不能同时使用变量,所以用法应该如下
    高位用变量形式表示后,后面用一个减号(-)表示低位比高位小然后低位填的是从高位数共几位。

比如这个例子中高位是2*j+3,共3位假设j=1,那么其实取嘚的就是N[5 :3]


就是像C语言一样初始赋个值,那该寄存器里面就在上电以后就是这个数值是吗   

不过其实我个人是觉得, 如果按照FPGA本来的性质 不应该可以用这种方法赋初值的, 好比伱用FPGA描述了一个类似74HC161的计数器 那除非有外部信号驱动LOAD脚, 让它把设定值装载进去 要不然这个芯片绝对不会在没有外部影响下,上电会洎己把自己计数器的值变为某个特定值 如果这样有可能,那单片机之类的东西就不需要上电复位这个东西了

至于Altera 的芯片有这种功能,個人觉得不排除其FPGA本身具有这种上电后装载初值的功能 毕竟RAM类型的FPGA本身上电前就需要装载配置芯片里的文件, 在装载是顺带把值改为初始值也不是不可以   

我要回帖

更多关于 51单片机中变量定义的关键字 的文章

 

随机推荐