完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
通用串行输入、串行输出移位寄存器使用always语句块内的for循环语句建模。请看下面例子:module Shift_Reg (D, Clock, Z) ;
input D, Clock ; output Z ; parameter NUM_REG = 6; reg [1: NUM_REG] Q ; integer P ; always @ (negedge Clock) begin //寄存器右移一位: for (P = 1; P< NUM_REG; P = P+1) Q[P+1] = Q[P]; //加载串行数据: Q[1] = D; end //从最右端寄存器获取输出: always Z = Q [NUM_REG] ; endmodule 我的问题是在移位时,赋值语句Q[P+1] = Q[P];不会把后面的值覆盖吗?(C语言的思想) 例如,第一次循环的时候,P=1,执行Q[2]=Q[1];时,Q[2]的值没有被覆盖掉吗?求助啊... |
|
相关推荐
7 个讨论
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 04:09 , Processed in 0.565520 second(s), Total 54, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号