完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
2个回答
|
|
你会不会没有分配引脚啊
|
|
|
|
后来找到原因了~是因为输入端口不能用reg变量给值。always @ (ADDR) begin case(ADDR) addr_N_H: reg_N_H=DATABUS; addr_N_L: reg_N_L=DATABUS; addr_M: reg_M=DATABUS; addr_PHASE: reg_PHASE=DATABUS; default:; endcase end DDS_8 DDS_8_entity ( .ADDR_i(ADDRBUS), .PHASE_i(reg_PHASE[1:0]), .DATA_o(PD_SINE) ); 如标红的代码处,这里PHASE_i是输入端口,不能用寄存器变量赋值,需要用一个输出线来驱动,后来写了一个三态8位寄存器,用它的输出来给定值就可以了 module Bus8 ( EN, READ, WRITE, DATABUS, DATA_FROM_BUS ); input EN,READ,WRITE; inout [7:0] DATABUS; output [7:0]DATA_FROM_BUS; reg [7:0] Data_reg; reg [7:0] State; assign DATA_FROM_BUS=State; assign DATABUS=(~EN & READ & ~WRITE)?Data_reg:8'bz; always @(EN or READ or WRITE or DATABUS or State) if(~EN & READ & ~WRITE)//output to Databus Data_reg=State; else if(~EN & ~READ & WRITE)//Databus input to State State=DATABUS; endmodule |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1779 浏览 1 评论
1518 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1735 浏览 0 评论
954 浏览 0 评论
2525 浏览 0 评论
1572 浏览 39 评论
5804 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 23:05 , Processed in 0.589307 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号