自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Altium designer的边框外形设计以及规则检查

板子外形:可画好机械层后,按住shift+S,选中机械层的边框,选择设计-->板子形状---->按照选择对象定义,即可使得电路板的形状为机械层的形状。铺铜:选择romoved dead copper(去除死铜),能够使得铺的铜在没有网络的地方是没有的。另选择pour over same net polygons only作为铺铜方式。规则检查 :工具--- >设计规...

2019-03-04 10:37:53 1240

原创 将带有ip核的模块添加到block design的方法

TCL语句如下:set_property generate_synth_checkpoint 0 [get_files blk_mem_gen_1.xci]delete_ip_run [get_files -of_objects [get_fileset blk_mem_gen_1] j:/detector/detector/mig7_tal/mig7_tal.srcs/sources_1/...

2019-03-03 21:07:59 3882

原创 调试(debug)的底层硬件逻辑——通过FPGA嵌入式软核

以前在vs等上调试代码,查看变量或者内存的值没有去深究调试时底层的硬件的逻辑。看了赛灵思给的microblaze的手册,对于debug的底层硬件逻辑有了了解。若想在SDK中使用调试模块,在基于FPGA的嵌入式硬件设计(如在赛灵思的vivado中使用block design设计)时,需要添加一个debug的硬件模块——ILA。ILA连接想要在调试时,触发信号到来时,抓取的引脚。这样当你在CP...

2019-02-26 16:08:06 921

原创 verilog中有符号负数的移位与加减以及与C语言的不同

在变量后加signed,可以在加减,比较大小时,成为有符号数的加减法或比较。但是对于移位,编译器并不像C语言的编译器一样,有符号数,移位对于负数最高位补1,正数补0。而是都补零。所以对于负数的移位,如下if(baseline1<0)            baseline1 <= -((-baseline1)>>3);            else     ...

2019-02-14 22:42:04 4505 4

原创 FPGA的RTL级几种状态控制的分析总结

FPGA实现算法中的逻辑,执行不同状态的切换是关键。现对近期实现的几个功能中用到状态控制的部分进行总结。1.外部触发信号到来后,执行若干步骤,步骤由计数器控制。(这里的计数器可计数为0-127)。故触发信号高电平使能计数器使能信号(用组合逻辑实现)。仅计数器记到127后,或者复位信号到来,计数器使能归0.使能一旦归零,计数器恢复0.always @(trg or count or rst)...

2019-02-14 17:01:46 892

原创 赛灵思(Xilinx)Block Ram预先存储数据及使用方法及地址定义

ouput要做IO planning,以及电平标准需手动选择,否则生成bit文件时错误。生成ceo文件方法fid = fopen('rom.coe','w+');  fprintf(fid,'memory_initialization_radix = 10;\n');//声明进制,如十进制,vivado会编译为二进制 fprintf(fid,'memory_initialization...

2019-02-11 21:46:39 1699

原创 赛灵思(Xilinx)BlockRam(Bram)的结构与读逻辑解释

如图所示, bram的由很多latches和寄存器构成的bram块构成,通过Mux数据选择器,将数据送入输出寄存器,最终输出。由此图可知,bram的reset仅仅对输出寄存器重置,而不会重置内部存储数据。 对于Bram的读逻辑,由图可以发现,en有效后,数据会在下一个时钟上升沿后,出现在输出寄存器上。也可以看到reset信号,并不影响下一个时钟信号到来后输出的值(MEM(bb)),...

2019-02-10 12:32:44 11033 1

原创 乒乓操作的写入控制器

乒乓操作的写入控制器,由wr_en使能,使能后,将会根据内存写入次数的计数,输出合适的地址,内存块的片选信号,以及将数据源的数据输出,由于wr_req要求先数据一个时钟,这样,如果使能模块判断可以写入,则wr_en和data_in同时进入此模块,一个时钟后,输出地址,数据,片选从而完成数据的写入。[3:0]wea为bram的位数有效信号:地址一般指均是1B(8位数据)的地址,所以对于32位输入,...

2019-02-02 20:31:37 989 1

原创 一个状态机的电路示例-乒乓操作的使能控制器

对状态机的总结:Next_state用于表示下一个时钟到来时的状态,提前准备好,所以所有的输出行为均由此值决定Current_state用于表示此时钟周期所处于的状态,故从N_st中同步获取通过组合逻辑电路在本时钟周期内,用C_st的值及其他状态量,绝定下一个周期的N_st,故而这些组合逻辑的延迟要小于一个时间周期。 本状态机的功能为,乒乓操作的控制器。将数据用乒乓操作写入两个bra...

2019-02-02 18:09:08 774

原创 在Verilog中避免无意识添加锁存器

如果if else语句中有某个情况没有定义,那么就综合工具默认此情况不变,就形成了锁存器(只有在某些电平到来会变化,其余不变)。带来的问题是,如果是在时序电路中,两个时钟路径之间有锁存器,和组合逻辑电路,那么很难保证,锁存器变化时,其余部分组合逻辑电路的值有没有刚刚好已经变化好了,这就会带来不确定性的,也即冒险竞争显现,可能会出现无法预料的结果。所以一定保证所以if else都写完,如果有...

2018-09-06 16:18:40 1745

原创 上下拉电阻的作用

1.OC、OD门加上拉电阻,为的是管子不导通的时候,高电平,导通的时候,不会电流太大击穿。2.某些时候可以阻抗匹配。

2018-08-27 10:02:31 228

原创 FPGA开发板中的FMC中信号定义

FMC方便FPGA开发板进行接口切换,因为都遵循一个协议。搜索中文针对这个介绍的太少了。能搜到的还是错的,浪费我大量时间。LA[00..33]_P, LA[00..33]_N LA_XX - LPC, FPGA Bank A, 68 user-defined, single-ended signals or 34 user-defined, differential pa...

2018-08-20 09:55:09 8191 13

原创 Verilog笔记(module、reg、parameter)

1.在一个module中除了需要顺序执行的电路外,其余和顺序无关,就像画电路图一样,先画什么后画什么没有区别。2.reg并不一定代表寄存器,但有寄存器一定用reg。有些reg仅在仿真意义下代表一个存储单元。3.parameter在一个模块内局部定义,define为全局定义。...

2018-03-07 16:49:30 1971

原创 ISE IP核综合后没有RTL视图没有连线的原因

       我在ISE上使用现成的IP核(RAM)后,综合后,查看RTL视图,一直看不到RAM模块上有线相连,以为自己写的代码有问题,查了很多资料,网上有一个人遇到这个问题,但是没人帮他解决。       仿真也没有想要的结果。       后来干脆直接下载到开发板上,却发现完全实现了功能。所以推断是软件的问题而不是代码的问题。       于是我换了台台式机,在同样的代码下,综合后看RTL图,...

2018-03-07 11:08:01 2654

原创 数字电路设计和搭建系统的主要工作

我认为目前数字电路设计中越来越多的工作是对一些已经设计好的模块的粘合工作。底层的模拟电路的工作已经很少了。原因有二:1.随着集成芯片的种类越发丰富,只需将现有的芯片进行互联,即可完成电路板的设计工作。需要做的工作仅是芯片之间的逻辑。2.底层芯片的设计,也有很多可以之间拿来用的IP核。实际上也是一种模块间的连接工作。...

2018-03-07 11:01:35 430

原创 电阻对于PN结的限流作用

对于PN结,两端为导通电压,刚好导通,产生固定的压降。但是当两端电压稍微超过Vt时,由于内阻低,电流大会烧坏。所以加一个电阻,这样,Vo-Vt在电阻两端,Vt在PN结两端,不论Vo多大,均不会有巨大的电流。这就是电阻对于PN的作用。使得不会零阻值。有PN结的二极管,三极管,场效应管都会利用上述原理。...

2018-02-17 12:36:16 1247 2

原创 静态工作点 (直流偏置点)

静态工作点Q决定了中心点,输入小信号加在中心点摆动,输出随之摆动,得到输出摆动,故直流分析和交流小信号分析都不可少。所以,正确的直流偏置点是首要和先前步骤。一可以使器件导通,二目的是使器件在线性工作区。...

2018-02-17 12:28:44 7269

原创 阻抗和导纳

对于导纳,当然可以理解成阻抗的倒数,但是这样就失去了这个名字的意义。对于AB两点,如果本来是直接相连,那么你串接一个电阻,那么就是增加了电阻,电阻为很小时,忽略不计。对于AB两点,本来是相连,你并接一个电阻,那么就是增加了一个导纳,导纳很小时,此并接的路忽略不计。所以导纳字面理解就是多了一个路径(并联),让电流更导通。阻抗就是让电流更阻碍。...

2018-02-17 09:30:21 2214

原创 在VS2012中使用QT的方案

      网上有关于这个话题的文章,但是均没有写清楚搭建环境之后实现项目。且对于想用QTcreater进行UI设计界面的人来说,也没有提供有效方法。     经过尝试,有一个可用的方法。对于只想用QT完成一个UI界面和功能,并不想深究编程模式实现UI界面的来说,会方便很多。一、搭建平台      具体方法为:  1.在download.qt.io/archive下载QT,注意选择和VS对应的版本...

2018-02-15 14:59:42 1113

原创 always@(*)和assign的区别

网上关于这个问题没有切中要害的。在仿真时,即在Testbetch时,最关键的是always@(*)描述组合逻辑时,begin和end之间是串行,一条一条语句执行。而用assign则是并行,相当于描述的是连线。 但若在描述RTL级硬件逻辑时,二者没有任何区别,综合工具一般会按照一样的电路进行综合。...

2018-01-29 15:52:50 4684 1

C++描述 k近邻算法 kNN算法

《机器学习实战》第二章KNN算法,书中用Python编写,数据也是源于教材的官网(均开源)。我用C++编写、实现了一下,使其中的细节更为清晰,注释较为详细。在VS2012上编译通过。请认真阅读readme说明文件。可以自己建立数据集进行测试。

2017-07-23

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

TA关注的人

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