打印
[VHDL]

难题求解

[复制链接]
4396|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
好的,谢谢,我回去试试 
5
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 异或运算? 
6
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

主题

8

帖子

0

粉丝