
Verilog
evolone
这个作者很懒,什么都没留下…
展开
-
Verilog--奇数分频与偶数分频及占空比
分频器设计 1.简单的二分频module half_clk(reset, clk_in, clk_out);input clk_in, reset;output clk_out;reg clk_out;always @(posedge clk_in)beginif(!reset)clk_out = 0;elseclk_out = ~clk_out;endendmodule2.任原创 2015-08-17 10:19:50 · 2807 阅读 · 0 评论 -
异步FIFO Verilog代码注释分析
近日复习数字电路设计,遇到异步FIFO的问题。 在百度找到相关代码,阅读理解后,写出注释,方便自己今后查阅以及迅速理解;同时在此分享,以便广大读者查阅。 并,感谢分享者的无私精神!此异步FIFO,深度256,宽度8; 采用格雷码进行空满条件判断,注意: 格雷码判空,直接判断读写地址是否相同即可; 格雷码判满,需要满足条件:最高位不同,次高位也不同,其余位必须相同;所以,需要将信号最高2位翻原创 2015-08-30 16:44:59 · 13769 阅读 · 1 评论 -
Verilog编程testbench的注意事项
对于新手,编写Verilog代码,仿真,最开心的是变化的波形图,最讨厌各种报错,或无错而输出为高阻态。最近在写代码,调试的时候遇到的问题,以及心得,在此做一归纳总结。1 Verilog中变量一定写在代码最前面,否则报错。这点不如C++灵活。 2 Verilog中各种语句一定最好写上begin end,否则各种奇葩错误。 3 Verilog中各种$语句一定在某个代码块中,而不是单独成行,否则各种报原创 2015-11-12 16:27:33 · 2556 阅读 · 0 评论 -
verilogHDL,system Verilog代码的多驱动问题
信号多驱动问题0.起因1.现象起源2.原因分析3.解决办法4.思维拓展(1)两个always块的时钟不同,条件互斥;(2)时钟相同,但是条件不互斥,可能发生冲突;(3)时钟不同,且条件不互斥;0.起因最近在项目设计时,遇到了信号多驱动问题。记录下来,提醒自己,方便他人。1.现象起源最近在设计YOLO—V3的模块逻辑。在准备上FPGA时,综合报错:信号多驱动错误。2.原因分析查看代码...原创 2018-09-27 19:18:14 · 12529 阅读 · 7 评论 -
磨刀不误砍柴工:开发Model,辅助设计DUT
论开发Model对设计DUT的重要性最近在设计一个模块。时间紧,任务重。一开始,觉得为了节约时间,没有先开发Model,直接去写DUT。整个模块分成三部分。在分别完成三个部分时,由于并不十分复杂,故都是手算的计算结果,然后验证DUT的功能。但是在三个模块一起联合调试时,由于前期理解不充分,设计需要修改,然后计算结果就变了,造成之前手算的结果报废。如果重新手算,就增加了不少的工作量,而且...原创 2018-10-19 19:38:02 · 657 阅读 · 0 评论 -
SystemVerilog计算规则:你真的懂赋值规则吗?
最基础的,往往最容易出错。最近,用到了SystemVerilog去写计算,然后,各种赋值规则,让人眼花缭乱,特此记录。int inta, intb, intc, intd;assign inta = -12;// 2进制:1111_1111_1111_1111_1111_1111_1111_0100 10进制:-12assign intb = -'d12;// ...原创 2018-11-22 19:30:34 · 6404 阅读 · 0 评论 -
AI芯片:英伟达NVDLA结构分析
英伟达开源了深度学习硬件架构:NVDLA。包括完整的源代码:Verilog代码,C_Model代码,以及验证平台代码。英伟达官网上也有详细的文档。非常值得学习推敲。作为从业者,我更加关注NVDLA卷积核的实现方式。不过,文档中并没有详细的说明。于是,直接看代码,分析结构。好记性不如烂笔头。顺便将看代码的过程中学习到的东西,记录下来。1.NVDLA硬件架构...原创 2018-11-28 00:01:41 · 18714 阅读 · 19 评论