-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
可以问一下怎么验证你的结果吗? #1
Comments
map_in是CNN输入特征图的值,我是将MNIST的图片数据放在input_rom里的,上传的文件里没有添加LeNet模块的testbeach |
那么如果要验证的话,是否可以直接加个顶层模块,在该模块里例化LeNet模块,每个时钟沿从input_rom里送一个16位数给LeNet模块,这样可以吗? |
这个时间点,你是做毕设吗
我看看以前的文档和代码还在不在
…------------------ 原始邮件 ------------------
发件人: Guai111 ***@***.***>
发送时间: 2021年12月28日 12:26
收件人: mele-y/LeNet-verilog ***@***.***>
抄送: Ye Jianbo ***@***.***>, Comment ***@***.***>
主题: Re: [mele-y/LeNet-verilog] 可以问一下怎么验证你的结果吗? (Issue #1)
那么如果要验证的话,是否可以直接加个顶层模块,在该模块里例化LeNet模块,每个时钟沿从input_rom里送一个16位数给LeNet模块,这样可以吗?
还想问一下,您使用的网络架构是lenet-5结构吗?您project里的各个模块我会仔细去看,不过如果能先知道大致的框架再去看会方便很多,非常感谢!
|
非常感谢🙏不是毕设,是一个课程的期末大作业,要求用verilog完成lenet网络,有点头大🤣 |
我使用的数据集是28*28的mnist,所以第一层输入是28x28x1,输出是24x24x6,我的文档里有写 |
嗷嗷看到了,不好意思没注意😂 |
我还想问一下,您之前有遇到过仿真一直出不来结果的情况吗?我用您的tb进行仿真,总是显示在运行,可是之后电脑就卡死了,或者vivado就会闪退,这几天我一直在尝试找出原因,但是没有成功。另外,layer1_tb可以正常仿真,只是输出的数比预期要多一些,不过这应该不是仿真失败的原因。不知道您能否给一些建议,谢谢! |
你可以看看你那个项目的日志文件,有时候vivado软件里不会报出错原因,但在日志里会有 |
好的,我试一下,谢谢🙏 |
我尝试了您的方法,修改了一处警告,但仍然得到如下错误: 在我的 tcl console上还有两个错误这样说 :
不过这两个错误信息并没有什么帮助,我又检查了"compile.log",里面没有warning 和 error。我又检查了"elaborate.log" ,里面写着: `Vivado Simulator 2018.2 Copyright 1986-1999, 2001-2018 Xilinx, Inc. All Rights Reserved. Running: D:/vivado/Vivado/2018.2/bin/unwrapped/win64.o/xelab.exe -wto 294f714be5cb463992363bd33e416d9c --incr --debug typical --relax --mt 2 -L blk_mem_gen_v8_4_1 -L xil_defaultlib -L xbip_utils_v3_0_9 -L c_reg_fd_v12_0_5 -L c_mux_bit_v12_0_5 -L c_shift_ram_v12_0_12 -L fifo_generator_v13_2_2 -L xbip_pipe_v3_0_5 -L xbip_bram18k_v3_0_5 -L mult_gen_v12_0_14 -L unisims_ver -L unimacro_ver -L secureip -L xpm --snapshot tb_behav xil_defaultlib.tb xil_defaultlib.glbl -log elaborate.log Using 2 slave threads. Starting static elaboration Completed static elaboration Starting simulation data flow analysis 似乎也没有太大用处,不过提示我仿真是在data flow analysis这一步卡住的,但是我谷歌了相关信息包括这整个错误都没有找到有用的帮助,不知道您之前有没有遇到过这种情况,不胜感激! |
应该是我生成的ip你不能直接导进去用吧,我使用的是vivado 2016.3和vc709,你可以尝试自己生成ip替代我的ip |
好的,目前的ip是我自己生成的,我不知道ip还可以直接导进去🤣,不知道是不是生成ip的时候一些参数弄错了导致的,我再看一下 |
打扰一下,我想问一下layer2的输出layer2_out的宽度为什么是[286:0]呢,287不能被16或18整除,他有什么含义吗? |
应该是[287:0],可能当初敲错了吧
这会导致第二层有一个池化单元输出的18位的数据进入第三层时变成了17位,不过我在写的时候用的18位本来就有点冗余,所以只要数据的范围在17位范围之内就没有影响,一些极端情况舍弃了最高位可能会有溢出
…------------------ 原始邮件 ------------------
发件人: Guai111 ***@***.***>
发送时间: 2022年1月4日 12:10
收件人: mele-y/LeNet-verilog ***@***.***>
抄送: Ye Jianbo ***@***.***>, Comment ***@***.***>
主题: Re: [mele-y/LeNet-verilog] 可以问一下怎么验证你的结果吗? (Issue #1)
打扰一下,我想问一下layer2的输出layer2_out的宽度为什么是[286:0]呢,287不能被16或18整除,他有什么含义吗?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you commented.Message ID: ***@***.***>
|
哦哦好的,多谢😁 |
不好意思再打扰一下,我想问下您ip核中的fifo_16设置的类型和深度分别是什么呢?通过代码似乎不太好推测这两个值。另外,在addr_6中,用count计数每六个数和bias的相加,为什么当count%9!=1时,add_out设为1呢,这个条件我不太理解。再次谢谢您不厌其烦的回复我 |
从data_count看fifo_16的深度是16对吗? |
fifo位宽是16,深度应该也是16,模9这个我记不太清了,应该是8个是正确的卷积窗口算的值和一个额外的不需要的值 |
好的,谢谢您,我再看看 |
我想我找到了报错的原因,实际上应当不是错误,而是规模比较大导致仿真无法完成,vivado就直接报错终止了。在layer2层中,6个维度每一维都要generate16个conv_PE,超出了我电脑的承受能力🤣,我尝试只在一个维度中generate8个 PE,其余维度只是简单注释掉,没有改变代码逻辑,发现是可以出来仿真结果的,但是当我加回到16个之后就又会报错。 |
这只能通过生成少量卷积计算单元然后重复使用这些计算单元了,但控制的逻辑可能要改很多。 |
好的,谢谢您,问题已经解决了。能再问一下您还记得您的input里用的原始图片是数字几吗? |
不记得了,你可以把input.coe里的二进制数据还原成28*28的十进制小数,然后再转化为图片 |
好的,谢谢您 |
作者您好,我在跑第一层layer的testbench时报错:文件代码里面似乎没有shift_ram_28和shift_ram_24。是不是没有发完全呀? |
我的邮箱是1399783460@qq.com |
@6niversea 那个是例化的ip,你可以自己新建ip或者把我ip文件夹例的ip导入试试 |
好的谢谢啦。早点休息 |
看到你的LeNet输入中有一个map_in,这个端口是什么意思呢?如果验证的话应该给LeNet什么样的信号呢?非常感谢!
The text was updated successfully, but these errors were encountered: