[VHDL] 难题求解

[复制链接]
 楼主| 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;


评论

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

评论

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

评论

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

本版积分规则

1

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

1

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部