- 博客(16)
- 收藏
- 关注
原创 在WSL下使用makefile运行modelsim进行混合编译
在图形界面仿真并显示波形,好处是可以看到实时波形。和在图形界面运行.do文件进行编译无异。查看波形,比较繁琐,但对于小工程而言很方便。的流程相似,都需要生成.vcd文件,再用。
2023-09-05 20:42:55
454
原创 Python radix-8 512 point DIF model
【代码】python radix8 512 point DIF model。
2023-06-06 18:51:47
373
原创 EBAZ4205 ZYNQ HDMI扩展板 显示Linux桌面&播放视频
之前的文章介绍了如何生成EBAZ4205矿板的u-boot和Linux内核,使用的硬件只有改完SD卡启动的EBAZ4205裸板,只能通过串口与板子通信。这次尝试启动桌面并播放视频(由于EBAZ4205没有引出USB,仍然通过串口控制),看看双核A9性能怎样。原板子是没有显示接口的,需要自己做一块HDMI扩展板。
2022-02-15 16:26:27
9289
5
原创 EBAZ4205 ZYNQ 7Z010 u-boot & Linux 生成方法记录
上一篇文章介绍了EBAZ4205如何裸机固化,从NAND启动,并生成了.bit和fsbl.elf文件。本文记录如何生成u-boot & Linux。注意:在这之前需要移动电阻将zynq改为从SD卡启动。使用vivado/Xilinx SDK生成.bit和fsbl.elf上一篇文章生成的.bit和fsbl.elf并没有使用到所有的硬件。重新配置ZYNQ后产生FPGA下载文件:.bit和first stage bootloader:fsbl.elf,留着备用。除此之外还会产生 .hdf(.xsa)
2022-02-10 13:53:43
2534
2
原创 静态时序分析(STA)概念 例题
静态时序分析(Static Timing Analysis)记录概念launch edge 发射沿时钟源第一个上升沿对应的时刻,数据发送沿。STA分析以该时刻为0时刻。latch edge 锁存沿时钟源第二个上升沿对应的时刻,数据接收沿。STA分析的结束时刻。Tsu 建立时间时钟上升沿到达寄存器时,数据应当稳定的时间,这是时间间隔。与寄存器本身有关。Th 保持时间数据稳定后应当保持的时间,这是时间间隔。与寄存器本身有关。时序分析的目的是为了检查是否满足Tsu Th 。
2021-05-31 10:44:32
5199
6
原创 跨异步时钟域的6种方法
方法1 双触发器(打2拍)该方法只用于慢到快时钟域的1bit信号传递。module ff2( input clk0,//10M input din, input clk1,//100M output dout); reg din_r=1'd0; reg r0=1'd0; reg r1=1'd0; assign dout = r1; always@(posedge clk0) din_r <= din;/
2021-05-25 17:27:55
14300
4
原创 FIFO 最小深度计算 举例 总结
FIFO 最小深度计算例子 - 1:f_wr > f_rd,连续读写写时钟80MHz读时钟50MHzBurst_Len = 120,也就是要求至少安全写入120个数据连续写入和连续读取,无空闲时间,写入后立即开始读取 ,读写宽度相同Sol:写速率 > 读速率,FIFO迟早会被写满,但它要求至少写入120个数据后FIFO不满。写入120个数据耗时 120 * 12.5 ns = 1500 ns。写入开始后FIFO内数据以 30M/Date 速率增加。数据增加持续了 1500 n
2021-05-24 21:43:41
936
原创 Verilog 求最大公因数和最小公倍数
Verilog 求两数的最大公因数和最小公倍数[笔试题]由于 ain*bin = lcm*gcd 所以可以先通过 更相减损法 求得最大公约数(GCD)再通过 lcm=ain*bin/gcd 得到最小公倍数(LCM)举例:求 LCM(3,7)先求 GCD7-3=44-3=13-1=22-1=1,1-1=0所以 GCD(3,7)=1因此 LCM(3,7)=3*7/GCD(3,7)=21以下代码只能用来作题,当位宽W为16或更高时,以下代码中的除法操作将占用非常多的时间module g
2021-05-11 11:23:38
1518
原创 异步FIFO原理与Verilog简单实现
这里写自定义目录标题异步FIFO读和写使用格雷码传输指针异步FIFO本文代码参考Simulation and Synthesis Techniques for Asynchronous FIFO Design Clifford E. Cummings, Sunburst Design, Inc异步FIFO是读写时钟频率不同的先入先出数据缓存器。一个系统往往有多个时钟,跨时钟域数据传输由异步FIFO实现。异步FIFO实现时必须考虑跨时钟域问题。跨时钟域问题,是指输入触发器的信号没有满足触发器的建立和保持
2021-05-02 14:01:43
880
原创 中序遍历迭代法
中序遍历迭代法c++实现模板struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} TreeNode(int x, TreeNode *left, TreeNode *r
2021-03-17 19:50:54
426
原创 leetcode 224. 基本计算器,参考:类似编译原理的词法分析解法
leetcode 224. 基本计算器,参考:类似编译原理的词法分析解法题目描述题目描述给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。示例:输入:s = “(1+(4+5+2)-3)+(6+8)”输出:23提示:1 <= s.length <= 3 * 105s 由数字、’+’、’-’、’(’、’)’、和 ’ ’ 组成s 表示一个有效的表达式解法:这里参考了leetcode Maple597同学的解法,不使用堆栈,使用一种类似编译原理的递归解法。任
2021-03-11 21:58:41
319
原创 FPGA使用Delta-sigma(ΔΣ)ADC实现PDM音频输出
文章代码托管在Delta-sigma-ADC-verilog。quartus目录内包含SDcard .wav播放示例。FPGA实现音频输出的方式有:使用I2S DAC芯片。 直接通过引脚输出PWM(脉冲宽度调制)信号。 直接通过引脚输出PDM(脉冲密度调制)信号。I2S DAC:成本敏感,但声音品质较好。 直接PWM:脉宽精度与计数器位数相关,而且需要很高的计数器时钟,一般不......
2020-03-12 20:34:35
10568
4
原创 ARTIX-7 GTP 3G-SDI 使用实例
XILINX ARTIX-7 FPGA 可以使用GTP 传送最高3G-SDI的信号。本文记录 GTP调用方法,与SDI IP的互联方法等,最后实现1080p60彩条内部产生后经SDI回环后接收,仅适用于ARTIX-7或更高系列。组建工程部分参考赛灵思xapp1097实例。操作概览:调用GTP IP取出xxx_gt.v和xxx_common.v备用 →调用3G-SDI IP → ...
2020-03-12 20:32:04
5691
13
原创 EBAZ4205 ZYNQ 7Z010 裸机程序NAND固化 JTAG调试方法
简书https://www.jianshu.com/p/b83c663ecaaaEBAZ4205 是ebit的控制板,价格便宜。EBAZ4205使用XILINX XC7Z010-1CLG400I soc 包含两个硬核ARM A9,以及ARTIX-7逻辑。板子有一颗128M x 16 bit DDR3 CLK800Mhz,一块128M字节 NAND FLASH,PS 33.333Mhz osc...
2019-05-01 17:39:56
12397
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人