- 博客(26)
- 收藏
- 关注
原创 BRAM使用细节
上图是实际综合的结果,其中,DP指真双端口BRAM,SP指单端口BRAM。对于单端口BRAM,18X1024大小只占用0.5块BRAM,而36X512同样占用0.5块BRAM,这实际上是使用一个18Kb的BRAM实现的,其中一半18X512使用其中一组读写端口,另一半18X512使用另一组读写端口。双端口36X512则占用完整的一块BRAM,因为双端口都被占用,因此无法像单端口一样灵活组合。
2024-07-15 23:13:06
275
原创 完美解决VMware共享文件夹在Ubuntu中看不到的问题
但是每次重启都要手动输入一次指令,非常麻烦,下面设置每次启动自动挂载。简单来讲,rc.local是一个系统启动脚本,会在系统启动时自动运行。把挂载命令添加到rc.local文件中就可以在每次系统启动时自动挂载。但在后来的ubuntu版本中去除了这一功能,自启动服务方面基本由 systemd 全面接管了。但可以通过 /etc/systemd/system/rc-local.service 文件指定rc.local 的启动顺序和行为,从而能够继续使用rc.local作为系统启动脚本。
2023-05-08 15:37:49
948
原创 C语言中不同文件的函数如何调用?
如图,在程序A中定义了函数init_isa(),如果在程序B中想要调用,方法是两个程序同时引用同一个头文件,并在头文件中加入对该函数的声明。这里两个程序同时引用了isa.h,并且在isa.h中加入了函数声明。
2023-02-21 11:15:08
1191
原创 Makefile编写
参数中的变量,如$ (1),$ (2),$ (3)等,会被参数< param1 >;最常见的应该是:echo $PATH了,表示打印该shell中存在的环境变量。${var_name} 跟 $var_name差不多,但是用 ${ }会比较精确的界定变量名称的范围。你可以写一个非常复杂的表达式,这个表达式中,你可以定义许多参数,然后你可以用call函数来向这个表达式传递参数。在bash中,$( )与``(反引号)都是用来作命令替换的,执行括号或者反引号中的命令, 然后返回结果。
2023-02-21 11:10:51
2338
1
原创 Verilog 组合逻辑一些注意事项
这段话的意思是:在过程赋值语句中,表达式右侧的计算结果在某种条件的触发下放到一个变量当中,而这个变量可以声明成reg类型的。根据触发条件的不同,过程赋值语句可以建模不同的硬件结构:如果这个条件是时钟的上升沿或下降沿,那么这个硬件模型就是一个触发器;如果这个条件是某一信号的高电平或低电平,那么这个硬件模型就是一个锁存器;如果这个条件是赋值语句右侧任意操作数的变化,那么这个硬件模型就是一个组合逻辑。也就是说,综合出触发器的条件是,需要有时钟的沿触发。
2023-02-10 11:30:37
497
原创 Vivado生成网表文件
在vivado中执行综合后即可生成网表文件,简单来说网表文件是对电路设计逻辑结构的描述,如网表由单元(cell)、引脚(pin)、端口(port)和网络(Net)构成。综合之后Open Synthesis Design可以看到这样一个窗口,这就是记录了电路的网表信息。
2023-02-06 13:49:39
6913
原创 异步FIFO
在上一篇同步FIFO中已经介绍过,FIFO是一种先进先出的数据缓存器,它与普通存储器的区别是没有读写外部地址,这样使用起来非常简单,但缺点就是只能顺序写入数据。FIFO分为同步FIFO和异步FIFO两种,其中同步FIFO的输入与输出采用相同的时钟,而异步FIFO的读写时钟是互相独立的。
2022-10-09 17:15:47
6525
5
原创 同步FIFO
FIFO是一种先进先出的数据缓存器,一般用在隔离两边读写带宽不一致,或者位宽不一样的地方。在FPGA设计中,使用FIFO一般有两个方法,第一个方法是直接调用官方的FIFO IP,第二个方法是自己设计FIFO控制逻辑。FIFO包括同步FIFO和异步FIFO两种,同步FIFO有一个时钟信号,读和写逻辑全部使用这一个时钟信号;异步FIFO有两个时钟信号,读和写逻辑使用各自的时钟。
2022-10-09 11:11:23
1461
原创 贪心之小船过河问题
题目来自南阳理工OJ 过河问题描述在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N个人一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,N人所需要的时间已知;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行动时所需的时间。问题是,如何设计一个方案,让这N人尽快过桥。输入输出输入 第一行是一个
2017-06-14 07:54:57
1024
原创 贪心之多机调度问题
题目来自洛谷1190问题描述:学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1。现在有 n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从 1到 n 编号,i 号同学的接水量为 wi。接水开始时,1 到 m 号同学各占一个水龙头,并同时打开水龙头接水。当其中某名同学 j 完成其接水量要求 wj后,下一名排队等
2017-06-12 19:29:18
1275
原创 贪心之钱币找零问题
问题描述:假设1元、2元、5元、10元、20元、50元、100元的纸币分别有c0, c1, c2, c3, c4, c5, c6张。现在要用这些钱来支付K元,至少要用多少张纸币?问题分析:用贪心算法的思想,很显然,每一步尽可能用面值大的纸币即可。在日常生活中我们自然而然也是这么做的。在程序中已经事先将Value按照从小到大的顺序排好。
2017-06-12 17:03:34
1874
1
转载 贪心总论
贪心算法的定义:贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。解题的一般步骤:1.建立数学模型来描述问题; 2.把求解的问题分成若干个子问题; 3.对每一子问题求解
2017-06-12 07:15:45
508
原创 分治算法之二分查找
c++提供一类STL函数来实现对数组中元素的检索,其中较为简单且应用较广的是binary_search,upper_bound和lower_bound,
2017-06-09 08:15:14
923
原创 分治算法之归并排序
归并排序用到了标准的分治思想,不断划分子区间排序,最后将区间有序的合并,其中合并问题是最重要的一个环节。而且要注意的是归并排序的排序过程就是在合并子问题解时完成的。
2017-06-03 10:43:36
595
原创 高精度之高精度加减法
C++ 该死的高精度加减法 没看书直接硬上的结果是,一个简单的高精度减法我用了一个多小时只写了一个90分的代码。之前准备NOIP的时候确实是学了,可惜现在早就还给老师了。结果回家一看标准程序,顿时有种想哭的赶脚。 先上我的90分代码://高精度减法#include<iostream>#include<cstring>#include<cstdlib>#include<cmath>#in
2017-05-30 15:25:47
1040
原创 高精度之高精度除法(高精除以低精)
一.整除版高精度除法: 思路,手动模拟除法过程,包括余数用X记录,每次读到新位计算出被除数,然后计算。//高精度除法 整除版 #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<functional>#include<vector>#include<iterator>u
2017-05-29 18:58:10
1718
原创 c++ iterator
开博客第一篇文章,一定要写一点高大上的东西。 其实本来是想巩固一下基础从高精度开始再看一遍,结果突然看到string觉得有必要加强一下,于是我就学习了一下迭代器,,
2017-05-25 19:40:26
887
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人