自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Design compiler综合教程

一、逻辑综合的主要步骤synthesis = translation + logic optimization + gate mappingDC工作流程主要分为这三步Translation :主要把描述RTL级的HDL语言,在约束下转换成DC内部的统一用门级描述的电路(Generic Boolean Gates)(DC自己的库表现),以GTECH或者没有映射的ddc形式展现。也就是说此阶段没有用到工艺库。Logic optimization :就是把统一用门级描述的电路进行优化,就是把路径调

2020-08-27 10:19:52 5200 1

原创 用verilog实现8bit乘法器(1)

输入:wire [7:0] din1, din2输出:reg [15:0] dout逻辑:组合逻辑此乘法器采用移位并相加的算法实现,占用面积比较大,还有很大的优化空间。verilog代码如下:module multi(input [7:0] din1,din2, output reg [15:0] dout);reg[3:0] i;always@(*)begin dout = 0 ; for(i = 0 ; i <8 ; i = i + 1) begin ..

2020-08-15 21:04:40 7879 1

原创 二进制计数器,环形计数器,Johnson计数器

二进制计数器n位的2进制计数器,可以表示2^n个状态相邻的两组数据会出现两位或两位以上不一样环形计数器(右移)n位的环形计数器,可以表示n个状态举例:4位的独热码环形计数器的数据表示(0001 >> 0010 >> 0100 >> 1000 >> 0001 ……)相邻的两组数据会有两位不一样Johnson计数器(右移)n位的Johnson计数器,可以表示2n个状态举例:4位的Johnson计数器的数据表示(10...

2020-08-15 17:11:18 2405 1

原创 半导体器件技术

1 什么是半导体真空管,1904晶体管,1947电阻率ρ,电导率σ导体,半导体,绝缘体四价元素,硅,高纯度晶体硅,正四面体结构,电子层,最外层电子2 硅的物理特征硅原子内部:圆周运动 × 波函数√电子云,概率,硅原子中的能量等级K,L,M层导带,阻带,能量带空隙,自由电子空穴理论根据波函数算自由电子波长,然后算电子波能量,导带的能级密度费米-狄拉克分布,可以计算在硅单质中的电子数以及空穴数费米能量,玻尔兹曼常数,绝对温度掺杂半导体,P型,N型..

2020-08-08 14:08:59 429

原创 半导体内存设计(下)

9 数据存储HDD(hard disk drive):以磁材料为基础,安培定则写:用电流产生磁场,写入数据读:在两个储存单元内,检测是否有变化的磁场,读出数据HDD的问题:慢,重,噪音,功耗SSD(solid state disk):NAND, Fujio Masuoka, 1986, 东芝floating gate 技术已经在EEPROM有所应用,并不是新技术NAND结构,写入数据的方式,Vgs = 20V,电子聚集在floating gate中擦除数据的方式,V.

2020-08-07 17:19:11 725

原创 半导体内存设计(上)

1 电脑中的内存冯诺依曼架构:内存和计算单元分离二进制编码,二进制计算内存特点:可读,可写,可保持内存的需求:读写速度,容量,每比特花费,数据保持时间,耐写能力,功耗,非易失性存储三级存储结构:Cache memory (SRAM),主存(DRAM),机械硬盘/固态(NAND flash)2 Cache memory...

2020-08-06 22:56:14 1094

原创 低功耗设计技术(下)

7毛刺glitch:由组合电路中的信号抖动导致减少毛刺的方法:1 在合适的位置加上buffer(通过EDA工具实现)。 2 加入触发器同步减少晶体管的数量就可以减少开关次数:表达式化简,复合门,传输门要考虑的功耗:平均功耗,最大功耗,待机功耗,关断模式下的功耗,内存维持功耗,睡眠模式功耗器件/电路设计级别的低功耗技术:1 晶体管尺寸最优化。 2 减小结电容。 3 插入buffer。4 改变Vth。5 多电压架构/逻辑设计级别的低功耗技术:1 低频下的高性能。2 hardwire.

2020-08-06 10:02:55 661

原创 低功耗设计技术(上)

低功耗设计的原因:发热,辐射,电池容量,环境,电迁移在高电流下导致的金属短路断路,热载流子效应,IR drop,噪声幅度集成电路设计流程及对应的低功耗技术系统/架构设计:软硬件分离,架构的比较与选定,并行或流水线设计,单元模块的选定RTL设计:门控时钟,操作数隔离,内存分割综合:低功耗综合版图设计:门控时钟的时钟树综合(CTS),低功耗布局布线功耗组成:动态功耗,静态功耗(贯通电流,漏电流)动态功耗:P = CV^2fα。C:负载电容,V:供电电压,f:时钟频率...

2020-08-04 10:54:52 576

原创 LSI系统介绍

LSI :Large scaled ICSOC:System on a chip摩尔定律:集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍硅特性,P型半导体,N型半导体,PN结,二极管,NMOS,PMOS长沟道模型,Ids VS Vds 图像、公式,Ids VS Vgs 图像,log(Ids) VS Vgs 图像短沟道效应:DIBL(Drain induced barrier lowing),击穿效应,饱和区不恒定mos寄生电容,Cgb、Cgs、Cgd、C...

2020-07-26 15:05:05 5929

原创 版图设计心得

过去的一周,经过没日没夜的layout,感觉自己确实成为了一名已经入门的layout machine。在这里总结一下layout的心得版图设计的概念版图设计的目的是把设计好的电路的原理图变成可以生产在硅片上的实际电路。最后经过版图提取形成gds文件格式,并发给制造商生产制造。图层在画版图时会用到各种各样的图层,需要对集成电路的制造工艺有一定的了解。NWELL:N型衬底,PMOS应该设计在NWELL上DIFFUSI:扩散区,和NSD组合形成高浓度n+的有源区,和PSD组合形成高浓度p+

2020-07-22 19:01:05 10497

原创 关于Cadence公司及其EDA工具介绍

楷登电子(Cadence DesignSystems, Inc; NASDAQ:CDNS)是一家专门从事电子设计自动化(EDA)的软件公司,由SDASystems和ECAD两家公司于1988年兼并而成。是全球最大的电子设计自动化(Electronic DesignAutomation)、半导体技术解决方案和设计服务供应商。virtuoso开发平台是Cadence公司开发的一种运行于Unix下的能进行原理图(schematic)设计与仿真、版图(layout)设计与提取、版图验证与仿真的软件工具。v.

2020-07-17 22:49:41 4397

原创 用verilog实现斐波那契数列发生器

斐波那契数列(0,1,1,2,3,5,8,13…)思路很简单,只用两个寄存器,根据斐波那契数列的特点,每次时钟到来时,把reg2赋值给reg1,把reg1和reg2相加赋值给reg2。因为是非阻塞赋值,不用额外的寄存器储存中间变量。verilog代码:module Fibonacci_generator(input rst_n, clk, output reg[15:0] dout);reg[15:0] reg1;reg cnt;always@(posedge clk, negedg

2020-07-08 10:57:55 3962

原创 Emerging memories

SRAMNMOS结构,Ids vs Vgs的曲线,log(Ids) vs Vgs的曲线,Ids vs Vds的曲线。PMOS结构。CMOS 反相器的直流特性。两个CMOS互联构成CMOS Latch Circuit,butterfly curve。基本SRAM cell的结构,一个cell6个tansisitor,WL,BL。MOSFET尺寸缩小原理,当Vdd、W、L、tox、NA(掺杂浓度)都变成1/k倍时,Ids = 1/k,Cg = 1/k,t = 1/k,P = 1 / k.

2020-07-08 06:29:20 703

原创 存储技术简要介绍

现如今,无论是计算机还是手机,都离不开存储设备。根据冯诺依曼结构,存储设备和cpu是分开的。为了平衡存储空间,读写速度,价格等因素,大多数设备中都使用了2到3级不同的存储设备。第一级存储需要有最快的速度,但容量很小。cache作为cpu缓存,使用最快的SRAM电路实现,通过把主存中的数据拷贝到cache中,提高cup的访问速度。cache中需要的最关键技术就是地址的映射问题,有三种方法直接映射、全相连映射和组相联映射。第二级存储需要较快速度,也要有一定的容量。这就是我们常说的主存(内存条),

2020-07-05 20:39:55 910

原创 用verilog实现去抖动电路(状态机实现)

题目:用Verilog实现按键抖动消除电路,抖动小于20ms,输入时钟10MHz。按键在按下的时候会有抖动特点,如果不加以处理,可能会被识别为多次按下,所以要设计去抖动电路。去抖动电路的核心思想就是通过计数器去计时,在按键按下的时候开始计数,当达到计数阈值时,再次判断当前的按键输入,如果开始和结束时一样,则判断为按键已按下,所以中间的时间段(本题为20ms)内不论按键发生了什么变化都无所谓本次程序是我第二次使用状态机实现,当然也可以不用状态机(上一次使用状态机是序列检测)电路共四个状态:.

2020-07-05 12:45:00 5659 3

原创 用verilog实现脉冲检测

代码思路和上一篇边沿检测基本一致,通过使用两个触发器,并结合逻辑组合实现检测但要注意题目里对pulse的定义是什么,本题中pulse是指一个时钟周期宽度的窄脉冲verilog代码:module pulse_detector(input clk, rst_n, din, output pulse_high_detect);reg q0,q1;assign pulse_high_detect = (~din) & q0 & (~q1);always@(posedge c

2020-07-03 14:05:08 6250

原创 用verilog实现边沿检测(上升沿,下降沿,双边)

不是很难却困扰过我的一个问题边沿检测?不是可以直接把待检测的信号写在always块里吗?其实不是的,这个题目的本意是在同步电路中实现这样的功能,如果把待检测的信号写在always块里面,相当于把输入信号接到了触发器的clk上,这样电路就变成异步的了,后面还需要把信号同步,得不偿失。正解是使用两个触发器,再通过逻辑组合判断边沿。边沿检测代码:module edge_detector(input clk, rst_n, din, output raising_edge_detect,fal

2020-07-03 13:59:48 12365

原创 Verilog RTL 面试题

最近在亚马逊上买了本verilog面试题的书,在这里把题目总结一下。这是封面RTL verilog 语法问题1 解释阻塞赋值和非阻塞赋值的区别与用法2 解释逻辑运算符与按位运算符的区别3 写出与、或、非、与非、或非、异或、同或(异或非)的RTL语句(& | ^ ~)4 单目运算符’&’ 、‘|’ 、‘^’的用法5 移位运算符’<<’ 、’>>’的用法6 数据拼接‘{}’7 三种4:1MUX的代码(1 assig...

2020-07-02 23:22:21 4602

原创 用verilog实现异步fifo

本文实现了异步FIFO代码思路参考了博客 https://blog.csdn.net/u014070258/article/details/90052281之后可能会学习一下怎么利用状态机实现FIFO`define FIFO_DEPTH 108//FIFO深度`define FIFO_WIDTH 16//FIFO宽度module asynfifo(input rst_n,//复位信号input [`FIFO_WIDTH - 1:0] data_in,//输入信号 input w.

2020-06-29 19:53:33 581

原创 用verilog实现串行信号转8bit并行信号

串行信号转并行信号即为解串器(deserialize)。输入信号有时钟信号clk,复位信号rst和串行数据输入信号din。输出信号为8bit并行信号dout。每经过8个时钟周期,便把收到的8个串行信号合成并行信号并输出,等下8个时钟周期过后再输出下一个并行信号。verilog代码:module deserialize(input rst,clk,din,output reg[7:0] dout);reg[7:0] data;reg[2:0] cnt;always@(n

2020-06-18 19:02:35 4766 2

原创 用verilog实现异步复位、同步释放电路

相关重要概念:建立时间,保持时间;同步时序,异步时序;亚稳态;时序电路里面需要复位,异步复位相比于同步复位最大的优点就是可以节约资源。但是异步复位在上升沿时如果同时遇到时钟的上升沿,会不满足建立时间和保持时间的要求,从而使电路进入亚稳态。为了避免亚稳态,采用同步释放的解决方法。verilog代码:module ASRSR(input clk, rst, out);reg out1;reg out2;always@(posedge clk, negedge rst)beg

2020-06-17 23:05:31 4261

原创 用verilog实现数字频率计

数字频率计此设计是我在东南大学大三短学期数字系统课程设计的课题。(如果有学弟学妹看到这篇文章,希望可以给你们提供一定的帮助,但也希望别直接controlc,controlv)同时,本文中的代码因为经过再编辑,可能某些功能会有错误,敬请谅解。设计要求:(1)频率测量范围10Hz~1MHz(2)量程自动转换,量程分为10KHz (1s) 、100KHz (0.1s) 、1MHz (10ms)三档。转换规则如下:当读数大于9999时,频率计处于超量程状态,下一次测量时,量程自动增大一档;当读.

2020-06-15 15:24:11 20522 11

原创 用verilog实现加法器

用verilog实现加法器加法器是组合逻辑电路中的常见器件,了解其结构很有必要。解决加法问题的根本是解决进位问题,解决进位问题的根本是理解加法竖式。比如计算二进制加法1001(reg[3:0] in1) + 1101(reg[3:0] in2)。先计算个位in1[0]+in2[0] = 1+1,此时有两个输出,一个是最终结果的末位,应该输出0,这里记录out[0] = 0;还有就是下一位的进位,此时有进位,应该输出1,这里记录c[1] = 1。而在计算第二位的时候,应该是三个数相加in1[...

2020-06-13 14:18:52 7413 2

原创 通过状态机实现序列检测

如何实现对某一序列的检测?当序列中出现‘1101’时,输出‘1’,其余情况输出‘0’。通过有限状态机可以实现此功能。FSM(finite-state machine)是有限状态机,是指状态数为有限个的状态机。本题目中的待检测序列有4bit,对应4个状态,再加上闲置状态,总共有五个状态。状态转移图根据状态转移图可以编写verilog HDL代码,这里采用三段式写法。module SerialDetectorFSM(input wire clk, rst, data ,output

2020-06-13 13:33:49 3789

原创 c语言求完全数

完全数:如果一个数恰好等于它的因子之和,则称该数为"完全数"两种方法自行比较吧,我直接贴代码#include#include#define max 100000//计算出max以内的所有完全数using namespace std;//方案一,根据定义//如果一个数恰好等于它的因子之和,则称该数为"完全数"void main() { clock_t start,

2017-07-03 11:39:14 17937

原创 高精度加法和乘法的c++实现

上一篇用c写了高精度加法的计算,总的来说,从底层写起的话,对于不是很繁琐的代码,面向过程还是比较方便的。但是当我打算计算高精度乘法的时候,发现计算过程要比加法麻烦的多,而且会反复用到一些函数的调用,而且这里面还会用到高精度加法的计算,于是果断放弃的c,采用c++。这里,我写了一个类,名为megaData,就是指一个很大的数(不过这个单词好像是指大数据,完全不懂大数据是什么,反正就这么命

2017-06-20 22:07:56 5215 2

原创 高精度加法的c语言实现

本篇为高精度加法的计算,接下来我还会去写高精度乘法的计算一、高精度运算的概念高精度运算其实就是参与运算的数完全超出基本数据类型所能表示的范围的运算(例如int型范围就是 - 2147483648 ~+ 2147483647)所以如果想求较大数的话就要创建新的数据类型二、数据类型的选取我选择的是int型数组,这样比较便于计算和理解三、代码

2017-06-20 00:14:57 1922

原创 c、c++求a的n次方(a是个位0~9)

首先介绍一下基础的,关于数据类型:其中,整型的数据大小为4字节,32比特位,能表示的数的范围是 -2147483648 ~ +2147483647;而2的30次方就高达 1073741824,用正常计算方法得到的结果如下故要想得到更高位的a的n次方,要自己写一个新的数据类型,我想到的是int型数组,长度为n,每个数组元素用来储存结果的一位。最后把每个元素输出就好

2017-06-18 14:27:31 11823 1

原创 c、c++关于质数||素数的求法

大一刚刚结束,回过头发现自己这一年太浪了,基本没学什么东西,所以下定决心从头开始那就说一下这最简单又不简单的质数问题吧我们要求某个范围内的所有质数,当然最基本最重要的方法就是除一个数取余数在判断是否为0一、最简单的粗暴的穷举法#include#include#include#define min 2#define max 1000000using namespace

2017-06-17 11:19:06 1442

空空如也

空空如也

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

TA关注的人

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