|
|||||||||||
| 技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
新手上路遇一问题过不去了~各位帮帮忙啊~! |
| 作者:tonyhawksp 栏目:EDA技术 |
刚开始学CPLD,学的Verilog HDL语言,书上讲的有个语法看了半天看不懂~! 完全无法看下去了~各位帮帮小弟啊~! 书上讲 reg[7:1] count,counter; 7是位数,后面定义了两个数据,但是后来看例题时,出现了 reg[7:0] count,counter; 为什么又是0了啊?还有就是 reg[36:0] count; reg[3:0] disp_dat; always@(count[16]) begin disp_dat=count[27:24]; end 那个count[16]是什么意思啊?还有就是disp_dat=count[27:24]那个27,24又是 代表什么意思啊?书上也没具体提到那是什么意思,后面的每个例子都是这 样,小弟实在是无法看下去了~看着完全摸不着头脑~各位帮帮吧~!谢过了 |
| 2楼: | >>参与讨论 |
| 作者: computer00 于 2005/9/29 13:42:00 发布:
这个跟C语言里的数组差不多,不知道你学过C语言没 disp_dat=count[27:24]; --这个就表是将count的第27、26、25、24这四位, 赋给disp_dat, 而disp_dat也刚好是四位,disp_dat[3:0],分别是disp_dat[3],disp_dat[2],disp_dat[1],disp_dat[0]。 而count[16]呢,就表示count的第16位。注意,是把count[0]当作第0位来数。 |
|
| 3楼: | >>参与讨论 |
| 作者: tonyhawksp 于 2005/9/29 14:48:00 发布:
哦~~ 谢谢computer00啦~还有就是那它在内存里是怎么存的呀? 就是假设 reg[7:1] count; count=count+1; 是不是count[7:0]到1111_1111时然后又加到count[7:1]?在内存中储存的数据 是怎样变化的呀?占两个字节吗? |
|
| 4楼: | >>参与讨论 |
| 作者: computer00 于 2005/9/29 14:58:00 发布:
是这样子的: reg[7:1] counter; --这样定义的,只有7位。可访问counter[7],……counter[1]等 reg[6:0] counter; --宽度跟上面一样。可访问counter[6],……count[0]等 reg[7:0] counter; --而这样定义的,就有8位。可访问counter[7],……counter[0]等 括号中的7:1只是一个标号,方便你操作而已。 就是说,如果定义成reg[7:1]跟reg[6:0]是同样的结果,只是你操作时, 使用不同的变量名而已。 |
|
| 5楼: | >>参与讨论 |
| 作者: tonyhawksp 于 2005/9/29 15:05:00 发布:
懂啦~~谢谢~!!! |
|
|
|
Copyright © 1998-2006 www.j71x6.cn 浙ICP证030469号 |