【Verilog学习】-02-向量
向量verilog的向量和C的向量(数组)不太一样,其的位数是写在名称的前面的,例如
12wire [7:0] w;assign out = w[7];
在对向量赋值的时候,如果向量的位宽是相同的,就可以不用标明位;如果位宽不相同,则需要指明是那些位在进行assign
12345input wire [2:0] vec;output wire [2:0] outv; //这个和上面的vec都是3位宽wire [3:0] w1; //w1是4位的位宽assign w1[2:0] = vec;assign outv = w1[2:0]; //或者直接 assign outv = vec;
向量定义123456789type [upper:lower] vector_name;// exampleswire [7:0] w; // 8-bit wirereg [4:1] x; // 4-bit regoutput reg [0:0] y; // 1-bit reg that is also an output port (this is ...
【HoloCubic】-00-原理图
简介这是一个稚晖君的开源小项目,通过记录一下复现的过程,来熟悉一下AD。(好久没有画过板子了)
这一部分主要是原理图的一些学习:
实现任意的走线,是通过 shift + space 实现,能够有90度、45度和任意角度走线。
元件的镜像反转,是通过鼠标左键拖住元件,再点击X/Y实现水平和垂直方向的反转。(这一点和旋转元器件不同,旋转,点一下元件,松开后,再按空格就可以)
tips:在绘制PCB的时候如果需要画圆角,用Shift+Space来切换;在画好圆角后直接拖动原来的直角的端点到一定距离后删除即可。详见这一篇博客:Altium designer如何快速定义板子外形(直角和圆角)_Teamo1110的博客-CSDN博客_altium 圆角
【Hexo】-03-增加标签页和头像
今天,鼓捣一下,把页面的头像和标签页都加上了。
页面头像头像主要是在next主题中的_config.yml(不是最外层的yml中)将以下的链接添加为自己的头像:
12345678# Sidebar Avataravatar: # Replace the default image and set the url here. url: /images/avatar.png #/images/avatar.gif # If true, the avatar will be displayed in circle. rounded: true # If true, the avatar will be rotated with the cursor. rotated: true
页面头像可以用插件:頭像 照片 Avatar Maker - Chrome 网上应用店 (google.com)生成,比较随性。
标签页生成这里有一点小坑,我一直发现tags点不开,原来发现是这里没有添加tags页面(page),首先要使用命令,添加响应的页面:
123$ cd hexo文件目录$ he ...
【Verilog学习】-01-组合逻辑
今天,温习了一下,verilog的组合逻辑的知识,下面是一些新的理解和总结:
要把~、|、^、&这些符号看成是一个门,特别是以此作为assign的赋值的时候,其实就是生成了一个门,例如;
1assign out = a|b;
wire类型的信号只能被一个信号驱动(例如,一个门的输出),但是可以同时给多个信号赋值。(只能做一次右端)
1234wire a,b,c,out,out_n;assign out = a | b; //被一个信号(与门的输出驱动)assign out_n = ~out; //可以去驱动多个信号assign c = ~out | a; //驱动第二个信号
【CAG_SLAM】-01-控制信号
这里的控制信号主要是基于上一次的比较树的项目的增加的。
控制信号主要是包括对整个模块的一个启动、结束以及重置等状态的转移进行控制;
任务描述
在模块的输入中,再加入一个使能信号rst_n和valid信号。在加入rst_n信号后,所有的寄存器需要重置,(eg.本模块是要输入72次,但是在输入20次后,如果rst信号被拉低,然后再拉高后,这时需要重新输入72个数据,并且需要把相关的数据进行重置,例如:初始化寄存器)。
实现方法
目前的想法是按照学长的思路,利用if语句进行判断,但是这样加入的逻辑好像有一点问题。看了以下网上讲的控制方法[^1][^2],好像也没讲的太深入。
目前的想法是不改动前面的比较树的模块,而是改动一下后面的记录下标的模块。比较树仍然是输出滞后了两个周期的最大值(历史所有输入)。
因此,前面记录的最大值应该在rst_n有效之后被清零,不能再保留历史最大值。rst_n至少要保持两个周期才能够清零所有最大值。因为输出会有一定周期的延迟。
然后,同时,在rst_n有效的时候,还应该将下标进行初始化,在rst_n无效、valid_i有效之后,立刻开启计数来记录下标。因此,前 ...
【python】-00-照片整理
这件事的起因是手机的内存已经爆炸了。想要找一个办法来把手机的内存清理一下,但是发现照片实在是太多了。桌面上的以前的照片也还没有清理干净,导致一团糟。想要去网上去学习一下用python写一个脚本自动帮我把照片按照月份放入响应的文件夹。其实也不难,但是还有一个问题是手机上的杂七杂八的缓存图像贼多,还得把这些不相干的照片做一个分类和清理。
先是在CSDN找到了一个相关的教程,但是和我的需求有一点小小的不同(文件夹的组织方式不太一样),但我想还是先按着这个写一个小的脚本,然后再改正。链接如下:
python照片按时间自动分类_进阶中的菜鸟的博客-CSDN博客
用python进行图片整理_SSSimonYang的博客-CSDN博客_python整理照片
裂开,vscode插件崩了。koroheaderfile无法生成头注释的问题,只能生成函数注释、不能生成头文件的注释,初步尝试了一下,应该是这个headerfile的设置有问题:
问题解决了,在settings里面添加一个来这个来设置一下,不知道是哪里出了问题,以前那好像记得也没这玩意儿,感觉像可能某次不小心删掉了。
1234"f ...
【札记】突然间的自我
今天晚上,突然发现最近心想的三件事慢慢在发生了。
晚上运动完,看了B站一个阿婆主的视频,他说健身不是健美,健身是个人的赛道,不是要和别人比较,而是要和昨天的自己比较,是不是坚持得比昨天更好,是为了30岁看上去比20岁还年轻,40岁比30岁还精力充沛,这就是是健身的目标。
我突然想到,在生活的其他的方面又何尝不是个人的赛道,最终要坚持下去是我们自己。虽然此时此刻有同伴的陪伴,有同龄人的竞争,但是终究到最后是我们自己的赛道。努力只是一个门槛,连努力的没有达到还谈何其他;努力和天赋能够让你昙花一现,但是真正要到达光明的顶点,是十年如一日的坚持。
今日也阅读了一些关于嵌入式、fpga、机器人的知乎文章,我感觉找到了一定的方向。
【CAG_SLAM】-00-比较树
最近需要完成的一项任务是做一个比较的verilog模块,任务描述一下是这样的:
任务描述
输入信号是clk,score,flag,reset,data_valid,输出是valid,addr0,addr1。
输入信号中,首先reset信号置高后,状态机进入IDLE等待状态,这时候等待data_valid信号输入,当data_valid信号出现(上升沿or下一个时钟的上升沿)时,读取score。score是一个数组[8],每次输入八个,每个的大小是八位。前四个和后面四个分别比较,得到分别的最大值的地址。一直进行输入,直到最后输入data_valid信号变低之后,停止输入,这时等待得到最后的最大的两个数的地址,将输出的valid变高。
实现方法
中间比较的部分使用比较树的方式,将8个数据分成两颗树,4→2→1。即两层的比较即可,两个周期的得到最大值,同时,使用流水线,在第二层的数据正在比较的时候,将新的第一层数据放入。
其中,需要用一个寄存器记录一下当前是第i次的输入信号,整体的矩阵是24*24的,因此,在最后一次输入时,需要得到addr = i×4+addr,再通过行坐标为 a ...
【总结】2021年度总结
2021年总体来说还算可以,我们从做的事情,总结的经验,以及2022年怎么做这三个方面谈一谈吧
总结经验
计划与复盘
这一点是我今年收获可能是最大的一点,在上一个寒假,我看了许多的知乎、博客之类的文章。大家都谈到了如何去做计划,如何去在生活中实践,都讲的很好。
我也在上半学期里面,把这一项完成的比较满意。在上半年的学习和生活里面,关于计划方面,我做计划是三天一次,每天按照12个小时计算(大概),包括了我学习和锻炼的时间。最主要的原因是上班学期的课比较少,这样,就让我把自己的学习和生活都安排得比较充实。当然,肯定也是有时间用不过来,捉襟见肘的时候,当然,总的效果还是好的。
关于复盘方面,我基本上是一个月做了一次复盘,把这个月完成的事情和下个月要提高和改进的地方都列了一下。并且还强迫自己去做一件有趣的事情,比如做了一个视频,练一首歌等等,就像这种能够带给我一定满足感的事情,并且我也能够感受到生活的乐趣。
在下半学期中,事情变得多了起来,平时的计划还是在认真地做,但是复盘就没有做了,这是比较不好的一点我也在最近的西安疫情这一段时间里面认真地思考起来到底应该以何种方式来安排我的学习、科研和生活 ...
【Hexo】-02-修改标题和主题
主要参考资料:
Hexo 修改博客站点标题_野猿新一-CSDN博客_hexo title
主要是修改_config.yml中的配置。
出现报错及其原因
这是是由于在改变文件时,没有用转义符,导致相关的字符未被识别:
12345678910111213title: PengXuanyaosubtitle: 'xuanyao's blog'description: '彭宣尧的博客'keywords: author: PengXuanyaolanguage: entimezone: ''
上述代码是错的subtitle中的 ‘ 未使用正确,下面添加以下转义符试一试。
12345678910111213title: PengXuanyaosubtitle: "xuanyao's blog"description: '彭宣尧的博客'keywords: author: PengXuanyaolanguage: entimezone: ''