搜索

[VHDL] 难题求解

[复制链接]
1386|14
手机看帖
扫描二维码
随时随地手机跟帖
lam00|  楼主 | 2021-10-13 21:56 | 显示全部楼层 |阅读模式
兄弟们,学校老师给出题目,这是我的代码,但是仿真结果总是报错,出不来结果,求解!代码逻辑应该是没问题的,我是新手菜**。
module jsq(q,clk);
input clk;
output q;
wire[3:0] q;
mydff U0(q[0],~q[3]*q[1]+q[3]*~q[1],clk);
mydff U1(q[1],q[0],clk);
mydff U2(q[2],q[1],clk);
mydff U3(q[3],q[2],clk);
endmodule
module mydff(q,d,clk);
input d,clk;
output q;
reg q;
always @(posedge clk)
begin
q<=d;
end
endmodule

使用特权

评论回复

相关帖子

lam00|  楼主 | 2021-10-13 21:57 | 显示全部楼层
C:\Users\28902\Desktop

使用特权

评论回复
lam00|  楼主 | 2021-10-13 21:59 | 显示全部楼层
图片发不上来,急急急

使用特权

评论回复
zlf1208| | 2021-10-14 10:32 | 显示全部楼层
本帖最后由 zlf1208 于 2021-10-14 10:40 编辑

下面这二条定义不一致:

output q;
wire[3:0] q;

应该是

output [3:0] q;
wire[3:0] q;


使用特权

评论回复

评论

zlf1208 2021-10-14 16:06 回复TA
@lam00 :你的testbench文件发上来 
lam00 2021-10-14 15:28 回复TA
还是一样,编译没问题,但是仿真结果还是000 
lam00 2021-10-14 15:23 回复TA
好的,谢谢,我回去试试 
lam00|  楼主 | 2021-10-14 15:24 | 显示全部楼层
题目是用4个D触发器级联,q输出端接在下一个d输入端,最后由q1和q3接回第一个触发器的输入端

使用特权

评论回复

评论

lam00 2021-10-14 18:33 回复TA
@zlf1208 :好的!谢谢指导 
zlf1208 2021-10-14 16:21 回复TA
我已经5年没搞FPGA了,现在的电脑上没有安装相关软件,本来可以给你一个仿真结果的 
zlf1208 2021-10-14 16:19 回复TA
你可以增加一个变量,看一下异或的结果是否正确 
zlf1208 2021-10-14 16:15 回复TA
与运算应该是&,不是*,或运算应该是|,不是+,*和+是算术运算符,与或运算应该是&和| 
zlf1208 2021-10-14 16:09 回复TA
q1和q3 异或运算? 
zlf1208| | 2021-10-14 16:34 | 显示全部楼层
你的异或运算有错误,除去运算符错误以外,~q[3]&q[1] | q[3]&~q[1] 异或的结果永远是0(因为q1和q3都是0),所以你仿真的结果就是000

使用特权

评论回复

评论

lam00 2021-10-14 18:33 回复TA
好的,谢谢指导,我问了老师,原来我的方法用错了,应该用结构描述法异或门设置端口,再带入q里,运行结果出来了! 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 呐咯密密 得到打赏 ¥310.00
  • 2 qbwww 得到打赏 ¥265.00
  • 3 yanzhengxin1 得到打赏 ¥200.00
  • 4 full_stack 得到打赏 ¥100.00
  • 5 laocuo1142 得到打赏 ¥55.00
  • 6 zhangjiantao 得到打赏 ¥50.00
  • 7 小叶三千 得到打赏 ¥50.00
  • 8 cjseng 得到打赏 ¥50.00
  • 9 改名了 得到打赏 ¥30.00
  • 10 HXM1593 得到打赏 ¥15.00
在线客服 快速回复 返回顶部 返回列表