自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr.zhang的博客

verilog,FPGA,嵌入式

  • 博客(41)
  • 资源 (4)
  • 收藏
  • 关注

原创 【无标题】

report_design_analysis -logic_level_distribution-logic_level_dist_paths 5000 -name design_analysis_prePlace

2023-05-25 13:55:38 523

原创 功耗结构设计

结构功耗优化方法主要讨论FPGA中结构的功率优化方法。相对于专用集成电路(ASIC),FPGA是耗电的器件,不适合超低功率设计技术。(CPLD有低功耗器件)。在CMOS技术中,动态功耗与门和金属引线的寄生电容充放电有关。,电容中消耗电流的公式:I= V * C *f公式中I是总电流,V是电压,c是电容,f是频率。因此,为了减少驱动电流,必须减少这三个关键的参数。在FPGA设计中,电压通常是固定的,因此,只能控制电容c和频率f.电容c直接与随时被触发的门的数量以及里阿尼金额这些门的布线长度

2021-05-18 10:11:20 279

原创 gray码转换二进制

gray码转换二进制二进制格雷码转换成自然二进制码,其法则是保留格雷码的最高位作为自然二进制码的最高位,而次高位自然二进制码为高位自然二进制 码与次高位格雷码相异或,而自然二进制码的其余各位与次高位自然二进制码的求法相类似。...

2021-03-11 14:06:42 901

原创 多数元素

多数元素求一个数组中的多数元素,多数元素指数组中出现次数大于n/2,n为数组中元素的个数。假设数组元素是非空的,并且总是存在多数元素。示例1input :[3,3,4]output 3示例2input :[1,2,3,2,3,2,2,2,2,1]output :2思路-摩尔投票法摩尔投票法的核心思想就是对拼消耗法另外一个诸侯争霸的游戏也是这个思路:假设你方人口超过总人口一半以上,并且能保证每个人口出去干仗都能一对一同归于尽。最后还有人活下来的国家就是胜利。程序思路从第一

2021-01-12 19:49:19 242

原创 实现strStr()函数

实现strStr()函数实现strStr()函数,给定两个字符串,string1,string2。在 string1字符串中找出 string2 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1示例11:string1 = ‘hello’2:string2 = ‘ll’3:输出 2示例21:string1 =‘hello’2:string2 =‘oo’3:输出 -1codeint strStr(char * haystack, char * needle){

2020-12-29 14:04:55 2385 1

原创 打家劫舍

打家劫舍题目你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。来源:力扣(LeetCode)示例1输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3

2020-12-26 13:59:30 94 1

原创 同构字符

同构字符给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例1输入: s = “egg”, t = “add”输出: true示例2输入: s = “foo”, t = “bar”输出: false示例3输入: s = “paper”, t = “title”输出: truecode1bool i

2020-12-22 09:51:17 1283

原创 如何判断一个数是否为2的幂

如何判断一个数是否为2的幂题目给定一个整数,写一个函数判断该函数是否为2的幂。例如输入 16输出 true输入:5输出:falsecode1bool isPowerOfTwo(int n){ long x; x=n;if(n==0)return false;return (x &(x-1) )==0;}code2bool isPowerOfTwo(int n){ long x; x=n;if(n==0)return

2020-11-23 15:53:46 2711

原创 移除元素

移除元素题目给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例2给定 nums = [0,1,2,2,3,0,4,2], val = 2,函数应该返回新的长度 5, 并且 nums 中的前

2020-11-16 19:25:23 168

原创 回文数

回文数回文是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。1.偶数个的数字也有回文数1244212.小数没有回文数题目写一个判断回文数的函数。codebool isPalindrom

2020-11-16 18:51:08 223

原创 整数反转

整数反转题目给定一个32位有符号整数,要求将整数中的每位数字反转。反转后整数溢出就返回0;输入123返回321输入-123返回-321输入120返回21解题思路利用取模,取余的思路,得到输入的尾数,并进行拼接得到新的数。考虑反转后会存在溢出的问题,对反转后的数字进行判断。codeint reverse(int x){ long count=0; int max = 0x7fffffff,min=0x80000000; while(x!=0){

2020-11-14 13:40:04 137

原创 两数之和

两数之和题目假定给你一个数组A,和一个目标值target ,现要求在数组A中找到两个数的和,并返回两个数的下标。假设每种输入只对应一个答案,要求数组中的元素只能使用一次。例如A=[1,2,3,4] target = 7,返回值为[2,3].思路及算法暴力枚举法枚举数组中的每一个元素,找到两个数使得,x+y=target;或者匹配数组中target-x的值。另外要求数组中的元素只能使用一次,因此匹配的时候,y应该在x元素之后。/** * Note: The returned arra

2020-11-14 10:39:29 150

原创 采样频率,采样率,转换速率

转换速率转换速率(Conversion Rate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。积分型AD的转换时间是毫秒级属低速AD,逐次比较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。MSPS–Million Samples per Second1 MSPS=1000 KSPS采样频率,采样率,采样时间采样频率的单位是HZ,即周期的倒数。采样率是每秒钟采样点的数量,单位SPS,其中SP代表采样点数。在采样时,1个Sample就是的采样的一个周期。因此,两个单位在数

2020-11-05 16:17:52 19187 1

原创 x64dbg调试器使用

x64dbg调试器使用x64dbg调试器x64dbg基本功能控制软件运行查看软件运行中信息修改软件执行流程x64dbg调试器的使用测试程序使用步骤打开软件软件下载x64dbg调试器相信很多大学生学习写程序,都是通过编译器将写的程序经过编译之后生成可执行文件.exe(windows),博主当时也是这么一个经历,很少会想过如何通过.exe文件来查看以及了解自己写的程序是如何运行,之后了解到一款软件OD OD,是一个反汇编工具,又叫OllyDebug,一个新的动态追踪工具,将IDA与SoftICE结合起来的思

2020-06-26 16:19:44 3359

原创 基于verilog的 PRBS编码

PRBS编码PRBS编码原理verilogPRBS什么是PRBS?,我相信当你点开这篇博文的时候肯定对PRBS有一定了解,或者你只是单纯了解verilog。对于什么是PRBS,百度百科给出的解释是PRBS的验证就是PRBS的产生的反过程,具体方法是Transceiver接收端首先将收到的数据寄存一拍(并行数据),将寄存的数据进行PRBS编码,编码后的数据与最新接收到的数据进行比较,如果一致则表示PRBS校验正确。PRBS: Pseudo-Random Binary Sequence 伪随机二进制

2020-06-17 17:39:49 9467 2

原创 平头哥Wujian100_open仿真

平头哥Wujian100_open仿真Wujian100_open仿真环境搭建功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导...

2020-04-27 19:50:17 2985

原创 数组数据交换fromCSAPP

这里写自定义目录标题数组数据交换fromCSAPP新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入数组数据交换...

2020-04-22 12:45:34 213

原创 verilog仿真产生差分时钟

verilog仿真产生差分时钟最近在啃pcie,pcie的一些基础知识,过段时间会发出来。在做pcie仿真的时候,看到xilinx官方的的这种产生差分时钟的方法觉得很好,在此做个笔记,同时分享给大家。差分时钟以前在做仿真时候通常都是用的单端时钟信号,这种单端时钟信号,很好产生,通过,always forever都可以产生。差分原理也很简单,n信号跟p信号取反就行了,但是xilinx的这个写法...

2020-02-28 14:46:00 6724 1

原创 例化mig IP用User Interface实现DDR3读写

例化mig IP用User Interface实现DDR3读写平台新建工程控制逻辑设计部分信号Command Timing DiagramWrite Timing DiagramRead Timing Diagram实现code平台设计在vivado 2019.2中实现,硬件平台Zion板,设计采用Zion板对DDR3部分。时钟采用200MHZ的差分时钟。DDR3型号为MT41J256m16X...

2020-01-07 17:45:12 1527 4

原创 mircobaze 控制mig IP读写DDR测试

mircobaze 控制读写DDR测试mircobaze 控制读写DDR测试新建BD文件1.在vivado Flow Navigator选择 Create Block Design,然后添加microbalze并点击图中自动连线如下图:2.运行结果如下图:3.双击microblaze 进行设置如下图:添加mig IP 核并进行设置1.mig的输入时钟2.之后在IO Planning Options...

2020-01-02 16:27:01 2759 1

原创 verilog 笔试题

一道verilog笔试题博主好久没写博客,最近看到一个校招笔试题,就随手写了。下面是题目verilog code`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: zhangsy//...

2019-12-01 17:22:57 2416 3

原创 华为FPGA设计高级技巧xilnx篇-阅读笔记2

华为FPGA设计高级技巧xilnx篇-阅读笔记2设计技巧合理选择加法电路串行进位与超前进位使用圆括号处理多个加法器IF语句和Case语句:速度与面积的关系。减少关键路径的逻辑级数通过等效电路,赋予关键最高优先级调整if语句中条件的先后次序合并if语句,提高设计速度组合逻辑与时序逻辑分离利用电路的等价特性,巧妙地分配延时复制电路,减小扇出(fanout),提高设计速度高效利用IOB设计技巧设计技...

2019-10-14 19:45:20 1815 1

原创 小数分频N.5分频

小数分频N.5分频2.5分频波形图原理分析verilog codetestbench仿真结果博主之前写过三分频,今天有空补充一下小数分频,原理大同小异,具体可以参考博主之前的博客三分频2.5分频波形图{signal: [{name: ‘clkp’, wave: ‘P…’},{name: ‘counter’, wave: ‘x2222222222’, data: [‘00001’, ‘00...

2019-10-12 17:47:04 2896

原创 华为FPGA设计高级技巧xilinx篇阅读笔记一

华为FPGA设计高级技巧xilinx篇阅读笔记一前言新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言个人...

2019-09-16 14:13:44 2630

原创 verilog更相减损法求最小公倍数

verilog更相减损法求最小公倍数一道有趣的面试题算法实现原理传统除法器设计原理RTL级电路verilog codetestbench仿真结果一道有趣的面试题博主在技术交流群里,无意看到某公司的一道关于IC的设计题,题目大概的意思就是求两个8位无符号位的最小公倍数。而且要求面积尽可能小。最后要求是用时序电路设计。博主觉得有趣就做做看,面积尽量小的话博主觉得尽量少用除法器,乘法器。针对求最小...

2019-09-05 19:18:17 2457

原创 verilog中的循环语句以及generate

verilog中的循环语句以及generateverilog中的循环语句for语句while语句repeat语句foever 语句generate语句实际应用计数器结构RTL结构如图for语句RTL结果generate语句RTL结构仿真codeverilog中的循环语句verilog中的循环语句主要有,for,while,repeat,foever.generate就显的另类了。博主针对这几个...

2019-09-01 15:23:47 4168

原创 FPGA中建立时间与保持时间以及应用

FPGA中建立时间与保持时间以及应用建立时间与保持时间的概念触发器中的建立时间与保持时间新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart...

2019-08-29 17:58:36 1312

原创 异步时钟处理之结绳法2

异步时钟处理之结绳法2结绳法2新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入结绳法2异步跨时钟处理以及结绳...

2019-08-24 10:09:48 2268 1

原创 异步时钟处理之结绳法1

异步时钟域处理之结绳法1异步时钟域结绳法结绳法时序图功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入异步时钟域在实际...

2019-08-23 21:13:49 2899 2

原创 脉冲同步器

脉冲同步器脉冲同步器作用脉冲同步器verilog codetestbench仿真结果脉冲同步器作用在实际的电路设计中,设计人员很少遇到单一时钟的同步电路设计,更多的是多时钟域的设计,因此异步电路的设计在实际应用中的重要意义不言而喻。由于信号在不同时钟域之间传输,容易发生亚稳态的问题导致,不同时钟域之间得到的信号不同。处理亚稳态常用打两拍的处理方法。多时钟域的处理方法很多,最有效的方法异步fif...

2019-08-19 09:25:43 7701 1

原创 FPGA底层原理结构及内部资源

FPGA底层原理结构及内部资源FPGA组成结构FPGA资源分布图FPGA管脚CLB触发器(flip-flop)IOBBRAM总结FPGA组成结构博主刚开始接触FPGA时是在大三上EDA实验课,当时就对这种这种芯片的强大好奇,当时实验课用的VHDL语言,当时觉得这种并行的语言很有趣。后续又自学了verilg,从此就迈上了这条不归路,经过几年学习总感觉没啥进步,当初以为自己会用verilog就代表...

2019-08-17 17:19:53 7684 1

原创 verilog异步fifo设计,仿真(代码供参考)

异步fifo设计,仿真前面研究了同步fifo,并进行了仿真验证,有关同步fifo问题可以参考本人上一篇博客,本次主要对异步fifo进行设计仿真验证。与同步fifo相比,异步fifo主要不同之处在于读写时钟不同,因此异步fifo需要处理的问题较为复杂,通常需要处理注意的问题点有以下几点:不同时钟域之间信号的同步化处理。异步fifo的空状态与满状态的判断。异步fifo框...

2019-08-11 11:16:33 4823 1

原创 基于verilog的同步FIFO设计

基于verilog的同步FIFO设计工具 vivado2016.2同步fifoFIFO的英文全称为first in first out,顾名思义就是先进先出的意思。fifo又分为同步fifo与异步fifo,fifo通常作为不同时钟域之间的数据传递,以及不同数据接口之间数据匹配。这次主要进行同步FIFO的研究。同步fifo原理框图由上图可知fifo主要有输入:clk,rst_n,rea...

2019-08-04 16:25:49 9496 2

原创 AXI总线

AXI总线介绍AXI是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分。AMBA4.0将其修改升级为AXI4.0。AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.0-streamAXI4.0-lite是AXI的简化版本,ACE4.0 是AXI缓存一致性扩展接口,AXI4.0...

2019-07-15 22:17:42 1077

原创 设计占空比为50%的三分频电路

设计占空比为50%的三分频电路时序图工具{signal: [{name: ‘clk’, wave: ‘P…P…’},{name: ‘clk1’, wave: ‘H.LH.LH.L’},{name: ‘clk2’, wave: ‘lh.lh.lh.l’,phase:0.5},{},{name: ‘clk1 & clk2’, wav...

2019-05-14 19:56:54 16260 4

原创 verilog glitch_free两个时钟切换电路

1.glitch free的两个时钟切换电路参考openMSP430 ipcore中的时钟切换电路切换电路首先想到就是多路选择器,切换时钟在不考虑glitch的通常写法会是:assign clk_o = sel ? clk1:clk2;但是由于sel,clk1,clk2 都是不同步的。在实现任意时刻切换时钟时候,就有一定的一定的概率产生glitch,一旦glitch被采用会对结果照成影响...

2019-05-13 22:34:05 2862

原创 verilog模拟仿真按键消抖

用verilog实现按键消抖,工具采用quartus II13 仿真软件采用ModelSim-Alter其中主要分为 其中vr_key_module主要产生虚拟的按键抖动功能。顶层模块module vr_debounce( input Sys_clk, ...

2019-05-08 22:38:59 3119

原创 verilog实现pwm

1.用verilog实现PWM控制呼吸灯。呼吸周期2秒:1秒逐渐变亮,1秒逐渐变暗。系统时钟24MHz,pwm周期1ms,精度1us。====```verilog`timescale 1ns/1psmodule pwm( input Sys_clk,//24Mhz, 42ns input Sys...

2019-05-08 19:56:51 8733 1

原创 verilog实现二进制计数器,约翰逊(Johnson)计数器,环形计数器

https://github.com/zsylov/verliog-study/blob/master/2019.5.6%E8%AE%A1%E6%95%B0%E5%99%A8.md用verilog实现一个4bit二进制计数器。====a) 异步复位b) 同步复位input clk, rst_n;output [3:0] o_cnt;```verilog`timescale...

2019-05-07 12:40:31 11252 1

原创 verilog没有葵花宝典

https://github.com/zsylov/verliog-study/edit/master/2019.4.29%E8%BE%B9%E6%B2%BF%E6%A3%80%E6%B5%8B.md1.复习verilog语法====* reg和wire的区别。---- 1.reg对应于过程赋值,如always,initial. 2.wire对应于连续赋值,如assign。其综...

2019-04-29 12:49:49 285

ad3c0420311fdfe937749875c608524f.rar

MIPI Alliance Specification for D-PHY,

2021-01-27

x64DBG.rar

x64dbg调试器,脱壳,打补丁,通过该软件实现可执行文件反汇编的过程,利于理解程序的运行。对于程序员来说是必备的神器

2020-06-26

vhdl学习简单一同

vhdl入门,但是为全英语,需要有点英语功底的同学才看懂

2014-05-01

fpga的课程设计

fpga的课程设计的数字钟,简单易懂,有代码

2014-05-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除