自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 资源 (4)
  • 收藏
  • 关注

原创 Matlab实现FMCW锯齿波雷达建模

Matlab实现FMCW锯齿波雷达建模clc;clear all;T=1e-5; %调频周期B=1e9; %调频带宽 1GHz K=B/T; %调频斜率 Fs=2e10; %采样频率 200MhzTs=1/Fs;

2021-12-06 23:11:38 3946 9

原创 数字地、模拟地、信号地区分

数字地?模拟地?工程设计时可千万别犯糊涂!在工程设计中,从参考电平的角度看,都是同一个地,最终都要接到一起获得相同的参考电位。对于地的分开,主要是从布线的角度看的,减少不同电路之间地的干扰,而电源的地不能看成模拟地,信号地也不能看成数字地。这主要是根据电路的性能来分割地,对于数字信号3.3v电路,2.5V电路和5V电路的地也可能有分开的需要。即使是同一个供电的数字电路,有时候也有布线的要求,例如大电流的IO部分的地,可能需要单独处理。大地一般指机壳,这个部分有ESD和屏蔽的需要的。有些时候电路地通过一个

2021-12-06 14:21:19 4362

原创 DC综合基础知识学习

逻辑综合:综合就是将设计的原始逻辑转换为可大规模实现并能够完成预期功能的器件的这一过程。简述:将RTL代码转换为门级网表的过程综合的优点(1)能够提高代码可重复性(可以通过使用参数化代码、构建好的逻辑块、重新定位新的库等手段达到目的)(2)能够提升工作效率,(不需要人为的对器件进行连线)(3)可验证性(4)可以更加抽象逻辑综合是由约束来驱动的(1)环境约束:PVT、线负载模型、模式(2)规则约束:面积、扇出、驱动、负载(3)时序约束:ASIC设计流程综合是基于路径的时序路径共

2021-08-10 11:01:50 2666

原创 Matlab和FPGA联合设计中参考

clc;clear all;fid = fopen('F:\LiuHengQuan\ProgramData\Xilinx\Vivado\FFT_test\Data_Rout.txt', 'r+');if fid == -1 disp('fopen failed');else ReadData = textscan(fid,'%s');endfclose(fid);for i=1:length(ReadData{1}) data(i) = hex2dec(ReadDat

2021-08-02 19:20:13 221

转载 SoC芯片设计流程

SoC设计是从整个系统的角度出发的,主要包括模型算法、芯片架构、各层次电路直至器件的设计。从硬件设计角度来看,在确保芯片function正确的条件下,芯片的面积(A)、性能(P)、功耗(P)是衡量一颗芯片是否成功的重要技术指标,即PPA。设计定义说明(spec)主要描述芯片设计总体架构、规格参数、模块划分、使用的总线以及各模块详细定义等。顶层模块集成将各个不同功能的IP整合在一起,一般包括自主研发设计的和向其他公司购买的,形成一个完整的设计。一般使用verilog语言进行电路的设计。前仿真一般

2021-07-29 17:08:59 3525

原创 关于建立时间和保持时间的理解

建立时间分析建立时间:在时钟上升沿到来之前,数据稳定的最小时间。该处定义所陈述的时钟上升沿为,UFF1的时钟上升沿,在寄存器到寄存器中,UFF1在CLKM的第二个时钟沿处才能采集到UFF0传递过来的数据。知道上述理论之后,我们需要知道对于UFF1它的D端实际到达时间和需要时间。由上图可知,实际情况下数据从UFF0的CK端(D端)到UFF1 D端所经过的路径有:(1)UFF0本身CK->Q端延时 tcq(2)Combinational logic 延时 tdp该时间为数据实际到达UF.

2021-07-25 23:18:58 1056

原创 爲什麽一个标准的反相器中PMOS管的寬長比要比N管大

主要和载流子有关,P管是空穴导电,N管是电子导电,电子迁移率大于空穴,同样的电场强度下,N管电流大于P管,因此要增大P管的宽长比,使之对称。这样才能使两者上升时间和下降时间相等,高低电平的噪声容限一样、充放电时间相等...

2021-07-25 20:11:56 4211

原创 靜態時序分析和動態時許分析特點

靜態時序分析静态时序分析是采用穷尽分析方法来提取整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立时间和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。它不需要输入向量就可以穷尽所有的路径,且运行速度很快,占用内寸较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计验证中动态时序分析动态时序模拟就是通常的模拟仿真,因为不可能产生完备的测试向量,覆盖门级

2021-07-25 20:08:20 178

原创 格雷碼理解

什么是格雷码?下面一段来自百度百科:定义:在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code)。另外当由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。在数字系统中,常要求代码按一定顺序变化。例如,按自然数递增计数,若采用8421码,则数0111变到1000时四位均要变化,而在实际电路中,4位的变化不可能绝对同时发生,则计数中可能出现短暂的其它代码(1100、1111等)。在特定情况下可能导致电路状态错误或输入错误。使用

2021-07-24 10:35:44 2957 1

原创 定点数无损量化方面理解

也有同学的不同理解,但是殊途同归,最终意思都是一致的,https://blog.csdn.net/qq_31006535/article/details/106064595https://blog.csdn.net/CLL_caicai/article/details/108229960

2021-07-21 17:41:33 314

原创 Python 基礎函數學習

1、 Python读取txt文件函数read()、readline()、readlines()read() 一次性读全部内容一次性读取文本中全部的内容,以字符串的形式返回结果with open("test.txt", "r") as f: # 打开文件 data = f.read() # 读取文件 print(data)readline() 读取第一行内容只读取文本第一行的内容,以字符串的形式返回结果with open("test.txt", "r").

2021-07-21 15:34:23 110 4

原创 数字IC笔试题目总结学习

数字IC笔试题目总结学习根据电路写出对应verilogD触发器在clk上升沿到来时,Q=D。在做这道题目是,我对于反馈哪里一直不理解。其实主要是观测D触发器输入端D的情况。在这个题目中D有两个输入,分别为A和B。再看反馈哪里,当B被选择输出时,其实Q端输出通过反馈输出不变。因此代码可以写为always @(posedge clk or negedge reset)begin if(!reset) b <= 1'b0; else if(ctrl) //当ctrl为1时 输出为c

2021-07-21 12:03:38 575 1

转载 Data Setup篇

来源:公众号[数字IC剑指offer]整个数字后端可以围绕着后端flow:data setup、floorplan、placement、cts、routing、DFM、DRC/LVS、ECO展开,所以我自己也是分块整理了各个部分的高频问题,一共400题,只要记住这400题,然后完整地跑一个demo的后端,基本上后端面试压根难不倒大家。由于实验室PR工具是ICC,所以我这边整理的内容里面涉及到命令相关的一般都是ICC的,如果是用ICC2或者Innovus的,命令有所不同,但是知识点是可以类推。如果实验室工

2021-07-21 09:40:27 1220 1

原创 FPGA时序约束

时序约束目的设计工具不能自动实现获得最佳速度的布局和布线方式,因此需要用户设定性能目标,让工具去实现用户设定的性能目标由时序约束体现时序约束提高设计性能的途径是将逻辑尽可能的放的近,从而使用尽可能短的布线资源规范设计的时序行为,表达设计者期望满足的时序条件,指导综合、布局布线。过紧的时序约束会延长编译时间不合理的约束可能会导致工具停止工作利用时序分析报告来判断约束是否可行在设计实现后,查看布局布线后静态时序分析报告判断是否达到预定的性能目标如果约束未满足,利用时序报告确定原因

2021-07-10 10:12:38 461 1

原创 FIFO深度计算

FIFO深度学习格雷码的轴对称问题。这个我在学格雷码的时候还真没想到。2,为何用格雷码而非二进制码做CDC。3,异步FIFO的大致框图。4,满空信号产生。尤其是满。5,RDCLK和WRCLK差距较大时,是否会造成multi-bit的问题。6,接5,是否会造成跳过了full而full+1的状态漏过满。7,Verilog Coding。SRAM用于数据的暂时存储,读写地址都由Controller控制,可以随机访问任意地址。FIFO是First in First out的缩写,其读写是有特定顺序的

2021-07-08 23:02:06 6413

转载 异步FIFO的生成原理

异步FIFO的生成一、FIFO简介FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。用途1:  异步FIFO读写分别采用相互异步的不同时钟。在现代集成电路芯片中,随着设计规模的不断扩大,一个系统中往往含有数个时钟,多时钟域带来的一个问题就是,如何设计异步时钟

2021-07-08 22:52:56 866

原创 FIFOXilinx IP核阅读

标准FIFO概述官网提供的IP核已经经过了全面的验证,能够以最佳性能进行调用,其中FIFO的最大时钟频率为500MHZ。FIFO提供四种用户接口:标准 AXI4-Stream AXI4 AXI4-LITEFIFO支持使用三种资源:block ram; distributed ram; built-in FIFO其中在使用AXI总线的时候,FIFO不支持built-in FIFO 和 Shift Register FIFO配置FIFO最大支持的存储深度为 4,194,3

2021-07-08 22:44:50 1449 1

原创 超前进位加法器原理与设计

超前进位加法器原理与设计一、行波进位加法器关键路径分析N比特行波进位加法器可由N个全加器级联而成,电路的延迟包括门延迟和线延迟等,分析忽略线延迟。单比特全加器门电路图从输入a,b,cin到输出s和cout,有以下路径: a->s:经过xor1,xor2两个门电路 b->s:经过xor1,xor2两个门电路 cin->s:经过xor2一个门店路 a->cout:经过xor1,and1,or1三个门电路 b->cout:经过xor1,and1,or1三个门电路 cin->co

2021-07-04 10:47:04 8486 1

原创 数字IC设计要求

基本要求(共性要求,基本所有公司都会要求):1.学历:大部分公司要求硕士以上,少数公司要求本科以上2.专业:微电子/电子/集成电路/自动化/通信等相关专业,基本没太大限定,很多公司直接就没写专业要求3.基本技能要求:(1)精通数字电路设计(2)熟悉Verilog或VHDL,大部分要求Verilog进阶要求:(部分公司要求其中一项或多项,会最好,有的不会也不要紧)1.熟悉异步电路设计2.熟悉FIFO的设计3.熟悉UNIX系统及其工具的使用4.熟悉脚本语言Perl、Shell、Tcl等5.

2021-07-04 09:38:38 598

转载 数字IC验证学习笔记

数字IC验证学习笔记 1. 验证介绍 1.1 验证介绍1.2 System verilog介绍1.3 UVM介绍123 1.1 验证介绍 (1). 验证概念 主要用来证明设计功能正确,并且符合设计功能描述的流程 (2). 验证平台 激励发生器:对DUT创建测试序列,先易后难激励检测器:观察DUT输入输出比较器:对DUT输出与预期数据相比对时钟/重置:提供时钟和复位信号检查结果报告 (3). 验证工作内容 ...

2021-07-03 16:19:07 2124

转载 AMBA总线—APB总线协议详解

文章目录 一、APB总线介绍1.1.什么是APB总线1.2.典型的基于 AMBA 总线的系统架构1.3.APB信号列表(重点) 二、APB总线传输(时序)2.1.APB 状态机2.2.写操作(重要)2.3.读操作(重要)2.4.APB模块接口(重要)2.4.1.APB Bridge框图2.4.2.APB Slave框图 三、APB到AHB的接口3.1.读操作3.2.写操作3.3.读写交替传送 一、APB总线介绍 关于总线的一些概念:   总线:计算机内部和计算机之间传输数据的..

2021-07-01 22:46:21 14483 5

转载 AMBA总线—AHB总线协议详解

一、典型AMBA系统AHB总线的强大之处在于它可以将微控制器CPU、高带宽的片上RAM、高带宽的外部存储器接口、DMA总线master、各种拥有AHB接口的控制器等连接起来构成一个独立的完成SOC系统,不仅如此,还可以通过AHB-APB桥来连接APB总线系统。AHB可以成为一个完成的SOC芯片的骨架二、AHB总线简介1、AHB总线组成完成的AHB总线由四个部分构成:==AHB主设备Master:==发起一次读/写操作,某时刻只允许一个主设备使用总线==AHB从设备Slave:==响应一次读

2021-07-01 22:34:20 13717 4

原创 input_delay和output_delay分析

1. input delay(1) input delay max:Therefore:(2) input delay min:Therefore:2. output delay(1) output delay max:Therefore:(2) output delay min:Therefore参考来源

2021-07-01 11:48:49 657

原创 静态时序分析知识点

1、 什么是STA?静态时序分析,不需要动态仿真2、 什么是setup time ?在时钟边沿到来之前数据稳定的时间3、 什么是hold time ?在时钟边沿到来之后数据保持稳定的时间4、 什么是arrival time ?在 data path上数据到达的时间5、 什么是required time ?在clock path上时钟到达的时间6、 什么是slack ?required time和arrival time之间的差7、 STA中有哪些data path?inp

2021-07-01 11:27:00 2937

转载 xdc约束优先级

在xdc文件中,按约束的先后顺序依次被执行,因此,针对同一个时钟的不同约束,只有最后一条约束生效。虽然执行顺序是从前到后,但优先级却不同;就像四则运算一样,±x÷都是按照从左到右的顺序执行,但x÷的优先级比±要高。时序例外的优先级从高到低为:1. Clock Groups (set_clock_groups)2. False Path (set_false_path)3. Maximum Delay Path (set_max_delay) and Minimum Delay Path (set_

2021-07-01 11:19:18 303

转载 时钟周期约束

时钟周期约束时钟周期约束,lo顾名思义,就是我们对时钟的周期进行约束,这个约束是我们用的最多的约束了,也是最重要的约束。下面我们讲一些Vivado中时钟约束指令。1. Create_clock在Vivado中使用create_clock来创建时钟周期约束。使用方法为:create_clock -name -period -waveform {<rise_time> <fall_time>} [get_ports <input_port>]参数含义 -

2021-07-01 11:10:41 1470

原创 FPGA时序约束理论篇之IO约束

参考来源I/O约束I/O约束是必须要用的约束,又包括管脚约束和延迟约束。管脚约束管脚约束就是指管脚分配,我们要指定管脚的PACKAGE_PIN和IOSTANDARD两个属性的值,前者指定了管脚的位置,后者指定了管脚对应的电平标准。在vivado中,使用如下方式在xdc中对管脚进行约束。set_property -dict {PACKAGE_PIN AJ16 IOSTANDARD LVCMOS18} [get_ports “led[0]” ]在Vivado规定,必须要指定管脚电平,不然在

2021-07-01 10:39:40 4110

原创 DC设计中的约束(Assignments或Constraints)

设计中常用的约束时序约束:主要用于规范设计的时序行为,表达设计者期望满足的时序条件,指导综合和布局布线阶段的优化算法。区域与位置约束:主要用于指定芯片I/O引脚位置以及指导实现工具在芯片特定的物理区域进行布局布线。其他约束:泛指目标芯片型号、接口位置,电气特性等约束属性。时序约束的主要作用提高设计的工作频率通过附加时序约束可以控制逻辑的综合、映射、布局和布线,以**减少逻辑和布线延时,从而提高工作频率**。获得正确的时序分析报告静态时序分析和动态时序分析静态时序分析则是通过分析每个

2021-07-01 10:08:17 2232

原创 DC综合简介

一、DC综合简介1.1 什么是综合?概括地说:综合就是把行为级的RTL代码在工艺、面积、时序等约束下转换成对应的门级网表。综合是使用软件的方法来设计硬件,然后将门级电路实现与优化的工作留给综合工具的一种设计方法。它是根据一个系统逻辑功能与性能的要求,在一个包含众多结构、功能、性能均已知的逻辑元件的单元库的支持下,寻找出一个逻辑网络结构的最佳实现方案。即实现在满足设计电路的功能、速度及面积等限制条件下,将行为级描述转化为指定的技术库中单元电路的连接。综合主要包括三个阶段:转换(translation)

2021-06-29 20:05:27 8150

原创 verilog实现有符号数求绝对值

原码求绝绝对值,比较简单就不再说明,这里按照补码就绝对值进行分析补码 -->原码如果数据位负数 则符号位不变 数据位按位求反 + 1;如果数据位正数,则补码 = 原码module OToC_code( input [4:0] a, output [4:0] out ); //assign out = (a[4] == 1)?({a[4],~a[3:0]}+1):a;assign out = (a[4] == 1)?(~a + 1'b1):a;endmodu

2021-06-27 19:23:58 6116 5

原创 verilog实现将原码转换为反码

根据符号位进行判断,如果为1则需要按位求反加1,否则保持原状module OToC_code( input [4:0] a, output [4:0] out ); assign out = (a[4] == 1)?({a[4],~a[3:0]}+1):a;endmodule测试代码module tb_Code; // Inputs reg [4:0] a; // Outputs wire [4:0] out; // Instantiate the U

2021-06-27 19:15:15 880

原创 verilog实现有符号数比较

实现有符号补码数据比较首先比较两个数据最高位(符号位),最高位一致情况下比较后四位。如果后四位谁大,则该数据大module max_op( input clk,rst_n, input [4:0] a, input [4:0] b, output reg [4:0] out ); reg cmd_flag; always @(posedge clk or negedge rst_n)begin //确定输入的数据最高位是否一致 if(!rst_n) cmd_flag &l

2021-06-27 19:02:55 9089 4

原创 Verilog设计RAM

SRAMcsen_n为低,wren_n为高写数据。csen_n为低,wren_n为高读数据。csen_n为高不工作

2021-06-27 12:57:52 334 1

原创 Verilog实现同步FIFO

用Verilog实现一个同步FIFO,深度16,数据位宽8bitmodule Sy_FIFO#( parameter DATA_WIDTH = 8, parameter ADDR_WIDTH = 4, parameter RAM_DEPTH = (1 << ADDR_WIDTH) ) ( input clk, input rst_n, input [DATA_WIDTH-1:0] data_in, input wr_en, input rd_en,

2021-06-27 12:52:09 1908 1

原创 VerilogHDL实现异步RAM

用Verilog实现一个异步双端口ram,深度16,位宽8bit。A口读出,B口写入。支持片选,读写请求,要求代码可综合module Asy_Ram#( parameter ADDR_WIDTH = 4, parameter DATA_WIDTH = 8, parameter DATA_DEPTH = 1 << ADDR_WIDTH )( input clka, input clkb, input rst_n, input csen_n, //Port A Signal i

2021-06-26 23:04:17 765

verilogHDL实现pwm控制

用verilog实现PWM控制呼吸灯。呼吸周期2秒:1秒逐渐变亮,1秒逐渐变暗。系统时钟24MHz,pwm周期1ms,精度1us。系统时钟为24MHZ,精度为1us,则对24MHZ时钟进行分频为1MHZ,1MHZ对应周期为1us。采用计数器计数,如果计数器从0到23产生一个脉冲表示为1us。PWM周期为1ms。首先需要完成1ms控制信号,对1us所产生的脉冲信号计数,从0到9时为1ms,产生1ms脉冲信号1s逐渐变亮 1s逐渐变暗。led周期为1s需要产生1s的周期信号,同上述方式一样,对1ms的信

2021-06-26 15:23:58 3772

原创 二进制计数器、johnson计数器、环形计数器原理和实现

二进制计数器n位的2进制计数器,可以表示2^n个状态相邻的两组数据会出现两位或两位以上不一样verliog实现//实现4bit二进制计数器always @(posedge clk or negedge rst_n) begin if(!rst_n) begin o_cnt <= 4'd0; end else o_cnt <= o_cnt +1'b1;endJohnson计数器(右移)n位的Johnson计数器,可以表示2n个状态举例:4位的Johnson

2021-06-26 10:45:12 1776

转载 亚稳态和毛刺

亚稳态和毛刺—— Meta-stability and Hazard reference: http://www.360doc.com/content/11/0913/23/6714119_148048038.shtml 我们在芯片设计与调试中,一定曾经遇到过一些诡异的问题。比如芯片的某一部分莫名其妙的复位却并没有故障记录、比如有的问题上下电和...

2021-06-25 14:40:55 741

原创 时钟 glitch free 切换电路

用Verilog实现glitch free时钟切换电路。有毛刺的时钟切换电路这个时钟切换电路是一个纯组合逻辑,输出时钟(OUT CLOCK)由选择信号(SELECT)控制,当SELECT为1时输出CLK1,反之,输出CLK0.看似很简单,实现了时钟的切换,实则存在着很大的隐患,如下图所示:assign outclk = (sel==1)?clk1:clk0;相关时钟源的毛刺保护下图显示了防止源时钟相互倍数的时钟开关输出出现毛刺的解决方案。在每个时钟源的选择路径中插入一个负边沿触发的D触发器

2021-06-25 11:34:36 591 1

原创 跨时钟域处理

多时域设计中,如果处理跨时钟域单bit : 两级触发器同步(适用于慢到快)多bit :采用异步FIFO,异步双口RAM加握手信号格雷码转换描述跨时钟域信号传输,慢时钟域到快时钟域always@(posedge clka or negedge rst_n) begin if(!rst_n) begin signal_b_r <= 2'b00; end else begin signal_b_r <= {signal_b_r[0],signal_b}; endend

2021-06-24 21:08:31 320

FMCW_JuChi_Multi_Target.rar

FMCW锯齿波调制情况下,多目标Matlab建模

2021-12-07

PyQt使用QTextEdit实现文本编辑器功能,具有文本编辑器GUI界面

PyQt实现文本编辑器功能,能够进行保存、另存、打印、新建、打开、退出保存、查找、撤销、删除、复制、全选、自动换行、改变字体、放大、缩小、等一系列功能

2020-05-13

(清华大学学堂在线C++基础学习)C++.rar

主要为郑莉老师C++基础学习的课件,上传是方便自己后续的查看和学习,如果小伙伴需要可以下载或者去 // 学堂在线自行下载 //

2020-04-27

image_excel.rar

实现python读取mysql表格中的数据,并将其显示在table报表中或保存为excel。通过点击界面的按钮可以选择本地存储的位置,通过填写文件名可以设置保存的文件名。文件的格式为excel。 压缩包中包含了 qtdesigner的ui文件以及ui转换后的py文件,和控制py文件

2020-03-24

空空如也

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

TA关注的人

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