随笔分类 -  FPGA与ASIC

1
摘要:计数器的verilog设计 复位; 加载; 溢出; 变化(上,下); 不变; 阅读全文
posted @ 2020-09-14 09:45 云远·笨小孩 阅读(419) 评论(0) 推荐(0)
摘要:跨时钟域传输 单比特的控制信号 为避免亚稳态,应该至少打两拍; 从快时钟域到慢时钟域,发送端使用双跳变沿做展宽; 从慢时钟域到快时钟域,接收端使用单跳变沿做检测; 多比特的数据传输(需要额外的单比特的控制信号做控制) 闭环握手,发送端的valid--FF1--FF2-->接收端收到valid,发出a 阅读全文
posted @ 2020-09-14 09:43 云远·笨小孩 阅读(373) 评论(0) 推荐(0)
摘要:DutyRatio指每读/写1个数据,共需要x个周期,则DutyRatio为1/x。 不管是同步FIFO,还是异步FIFO,一定满足: 写入速率$v_$和读出速率$v_$满足$f_*wDutyRatio > f_*rDutyRatio$。否则就没有使用FIFO的必要了,直接用握手就可以。 一个大周期 阅读全文
posted @ 2020-09-14 09:25 云远·笨小孩 阅读(300) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-08-24 09:05 云远·笨小孩 阅读(3) 评论(0) 推荐(0)
摘要:原文地址: https://www.cnblogs.com/BitArt/archive/2013/04/10/3010073.html FIFO简介 FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简 阅读全文
posted @ 2020-07-15 10:49 云远·笨小孩 阅读(922) 评论(0) 推荐(0)
摘要:对Throughput的优化 对Latency的优化 对Area/Utilization的优化 阅读全文
posted @ 2020-06-24 18:56 云远·笨小孩 阅读(506) 评论(0) 推荐(0)
摘要:案例1: 常数边界的循环合并 期待的情形: HLS综合的结果 做的操作:循环合并 操作的结果 循环边界均为常数,但不相等时,按最大的边界进行循环合并 案例2: 变量边界的循环合并 能合并的循环,边界必须相同! 案例3: 数据流 HLS默认综合结果 使用Dataflow的结果 案例4: 数据流 HLS 阅读全文
posted @ 2020-06-24 16:56 云远·笨小孩 阅读(1071) 评论(0) 推荐(0)
摘要:函数并行运行:使用ALLOCATION Pipeline的选项rewind 其他可供参考的资料 UG871! UG902! HLS-> Open Example Project! 阅读全文
posted @ 2020-06-24 16:05 云远·笨小孩 阅读(600) 评论(0) 推荐(0)
摘要:优化的原理 HLS会自动尝试最小化循环的延迟. 除了这些自动的优化之外,directive文件负责 执行并行任务; 例如相同函数的多次执行,以及相同循环的多次迭代. 要进行pipeline设计; 重新设计数组(Block arrays),函数,循环和端口等的物理实现,改善数据的访存; 提供数据依赖的 阅读全文
posted @ 2020-06-24 11:13 云远·笨小孩 阅读(1807) 评论(0) 推荐(0)
摘要:数据类型 支持的C/Cpp类型 Character Types char 8bits wchar_t Integer Types signed char 8bits [signed] short [int] 16bits [signed] int 32bits [signed] long [int] 阅读全文
posted @ 2020-06-24 09:36 云远·笨小孩 阅读(1758) 评论(0) 推荐(0)
摘要:优化手段 1 优化之:循环展开 对某个标记的循环进行Directive-> Unroll. 对循环展开的越彻底(Directive-> Unroll → complete),消耗的资源数和端口数越多,带来的吞吐量越大.需要trade-off. 那么该展开到什么程度呢? 可以全部展开(complete 阅读全文
posted @ 2020-06-24 08:59 云远·笨小孩 阅读(2120) 评论(0) 推荐(0)
摘要:常见的模块接口 如果设计的模块有IO的协议要求,应该尽早地在设计过程中进行设置. 数组Port 设置为单端口的RAM: Directive-> Resource → core: RAM_1P_BRAM. : RTL中最终不会包括该外部的BRAM, 而是需要你在vivado中添加一个RAM以和该设计I 阅读全文
posted @ 2020-06-23 20:02 云远·笨小孩 阅读(2781) 评论(0) 推荐(0)
摘要:参考 https://cloud.tencent.com/developer/article/1529571 之前的摘抄知道了怎么使用ModelSim进行仿真.下面摘抄则讲解了怎么加快仿真速度; 降低仿真时间分辨率!!! 由于要仿真ddr, 查看micron的ddr_model.sv (MIG Ex 阅读全文
posted @ 2020-05-31 21:55 云远·笨小孩 阅读(566) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-05-28 20:37 云远·笨小孩 阅读(1) 评论(0) 推荐(0)
摘要:最近使用Vivado仿真, 有点慢, 听说Modelsim仿真会快一些,这就试试! 经过测试,同样的仿真长度,Vivado内置xsim用了36min,Modelsim用了约13min. 原文地址 https://www.cnblogs.com/hqz68/p/10491509.html 工具地址 h 阅读全文
posted @ 2020-05-28 17:58 云远·笨小孩 阅读(1554) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-04-02 16:10 云远·笨小孩 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-04-02 15:59 云远·笨小孩 阅读(0) 评论(0) 推荐(0)
摘要:reg表示综合出触发器(该说法错误).因为always块(变量必须为reg)既能是时序电路,也能是组合电路。 组合电路一般是电平敏感的always块,或assign语句; 时序电路一般是时钟沿敏感的always块。 优选设计原则 优选同步设计 尽可能使用**时钟驱动的触发器(Flip-Flop)** 阅读全文
posted @ 2020-04-02 15:36 云远·笨小孩 阅读(258) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-04-02 15:30 云远·笨小孩 阅读(2) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-04-01 10:04 云远·笨小孩 阅读(4) 评论(0) 推荐(0)

1