- 博客(25)
- 收藏
- 关注
原创 升余弦和根升余弦
在UWB的仿真中发现,参考脉冲的数学表达式是根升余弦脉冲。但是在一些资料中,将根升余弦的表达式写成了如下图所示的升余弦。实际上的根升余弦是这样的要注意他们的区别,很多资料都容易搞混它们。升余弦在频域的表达式如下根升余弦的在频域的表达式如下可以看到它们在频域的表达式上有一个明显的平方根的关系,这也是它们名字的由来。...
2021-06-08 15:36:17 7205 1
原创 一个matlab的小问题
文本文件中的数字的值超过了2^32,用matlab取读取该文件中的数,用了%d的格式,发现各种不对。找了很久才发现是这个问题,改成了%f就ok了。
2020-08-28 11:39:40 184 1
原创 cadence工具NC-verilog对宏的要求
定义一个宏 ·define xxx 12;一般来说12后面是不用加分号的,但是加了分号,在VCS或者spyglass或者verdi中都不会报错,但是在NC中就编译不过。这一点要注意
2020-08-14 11:39:51 677
原创 和滤波器相关的 一些matlab函数
初始目的:将S域的传输函数用verilog实现步骤:1、拿到的传输函数是,numerator coefficents和Denominator coefficient。前者为[b1,b0],后者为[a2 ,a1,a0]。那么其对应的数学公式是H(S)=(b1S+b0)/(a2S^2+a1S+a0)。2、将S域的传输函数转换为Z域,在matlab中将S域的传输函数表达出来。HS=tf([b1,b0],[a2,a1,a0])。使用c2d函数将S域转换到Z域,HZ=c2d(HS,Ts,‘method’)。其中
2020-07-31 08:13:34 670
原创 FPGA原型验证中define/undefine编译顺序的问题
Synopsys的IP喜欢在编译IP前先define然后再编译IP最后undefine。但是在ISE/Vivado中可能不是按这种顺序进行的,所以可能出现没有undefine,后面的define将前面的覆盖了等各种意外情况。为了解决这些问题,有三种方法。1、将这些IP做成ngc文件。2、对于各个IP中同名的宏,将他们修改成不同的名字。3、想办法将XIlinx的工具的编译顺序按照S家的来设置。(暂时没找到比较省事的方法,目前只能通过GUI一个一个的改,如何通过脚本来控制还需要探索一下)。...
2020-06-10 09:33:55 1903 1
原创 ISE rtl修改后,如何跳过综合,直接使用修改前的综合结果进行implement
rtl修改后,如果要再生成新的bit(譬如我只是想用之前的综合结果,但是修改了驱动力等),那么ISE会默认重新综合。点击Synthesize的图标,右键,下拉菜单选择Force Process Up-to-date。然后你会看到综合,implement的状态就会从问号,变成绿色或者感叹号。然后右键点击Implement Design,选择Run。那么就会不重新综合,直接开始implement。...
2020-02-14 11:20:13 450
原创 VCS仿真vivado IPcore
VCS仿真VIVADO IPcore需要注意一下几个点。1、一些ip的仿真文件仿真sim目录下,需要将其添加进去,譬如memory的core。一些ip的仿真文件包含的子模块就在同一层目录,譬如pll。2、需要添加的仿真库放在xxx/Vivado/2016.04/data/verilog/src下面(我用的是2016版所有,不同的版本安装路径可能略有差别)。由于我只使用了memory和pll这两...
2019-12-02 14:07:54 3563
原创 UVM实战练习
1、import uvm_pkg:????;忘了写;。结果导致报错:System verilog keyword ‘class’ is not expected to be used in this context
2019-11-22 17:58:52 3618
原创 VCS仿真器对零延时的行为
在时序逻辑中,譬如x1<=x0;那么x1的值一般是在x0的上一个周期的值。时钟在x0有效后才会对其采样。但是如果x0和时钟的采样沿同时有效,那么情况可能就有些不一样了。一般来讲同时有效分两种情况,第一种经过前级寄存器采样后的数据可能会和采样沿同时有效,但是这种并不是零延时,在仿真器看来,扎样的数据在时隙上是比采样沿晚的。第二种,是真正的零延时,譬如时钟去采样自己,或者去采样经过pll,bu...
2019-11-20 16:18:49 3031
原创 ISE调用synlify的脚本设置
ISE对verilog的语法支持比较弱,最近一个IP需要在FPGA上测试,里面有比价多的for循环等在综合中用的比较少语法。ISE的XST综合时总是报错。因此需要切换到synplify来综合。为了方便我想直接在ISE中用synplify来替代XST。首先尝试在GUI上替换,没有问题一切正常。然后想用脚本来全流程生成bit文件。配置synplify,在GUI中可以右键单击synplify的图标,...
2019-11-15 10:29:54 923
原创 DC学习-第七章
7定义设计约束约束是一种声明,这种声明用可量化的电路特性来定义你的设计目标,这些特性包括时序,面积和电容。没有约束,Design Compiler工具就无法有效的优化你的设计。 在本章中,你会学到以下东西: Design Compiler约束类型 设计规则约束 优化约束 管理约束优先级 报告约束 层次化设计中传递约束Design Compiler约束类型当Desi...
2019-11-06 18:26:52 3039
原创 机器学习基础教程的疑问
《机器学习基础教程》机械工业出版社出版 Simo Rogers Mark Girolami著。1、48页的一个式子不知道怎么推出来的,先记录一下,免得后面忘了。p(t1960|x1960,X,T)=p(t1960,t|x1960,X)/p(t|X)...
2019-11-06 11:24:07 144
原创 CM4中断无响应的问题记录
在FPGA上验证CM4的系统。发现timer的中断没有响应。以下是debug顺序。1、仿真,发现一切正常。中断响应正常。2、使用在线逻辑分析仪,查看timer是否送出中断请求。timer中断已经送出。3、通过jlink发现pending寄存器被拉高,导致中断无响应。4、将cpu中pending寄存器拉成0,测试发现中断依然无响应,但是jlink读取的pending寄存器为低。5、检查bo...
2019-11-01 14:48:33 437
原创 FPGA原型验证中DW迁移的问题
最近需要将IC设计的rtl迁移到FPGA上进行FPGA原型验证(使用的FPGA较为古老,只能用ISE),重做了时钟树,时钟约束和IO的替换后。接下来就需要将一些IP迁移到FPGA中,其中主要涉及到RAM和DW的迁移。RAM的迁移比较好做,直接按照设计要求在ISE的coregen中生成就可以了。DW的库大部分也比较好做,这部分DW可以在ISE的coregen中找到对应的IP。但是还有部分DW在ISE...
2019-10-24 15:07:01 787
原创 一个AMBA协议相关组合逻辑回环的问题
最近要设计一个单master控制两个slave的小系统,如下图所示。小系统框图结果在综合和nlint的时候报出了组合逻辑回环的问题。后来检查了一下代码,发现组合回环路径如下:组合回环路径在MUSMATRIX(图中的BM1和BM2)中和返回给其master的hreadyout和其收到的htrans是组合关系。其组合路径就是图中的1和4。为了避开这种组合路径我之前设计不敢直接用返回的hread...
2019-10-16 18:19:13 549
原创 DC学习-第六章
6定义设计环境在设计优化前,你必须定义设计预期的操作环境。你可以通过指定操作条件,线负载模型,和系统接口特征来定义环境。操作条件包括温度,电压,和工艺变化。线负载模型评估线长度对设计性能的影响。系统接口特征包括了输入驱动,输入和输出负载,和散出负载。环境模型会直接影响设计的综合结果。在Design Compiler中,模型由你为设计制定的属性集合和约束决定的,这些属性和约束是由dc_shel...
2019-10-16 11:38:45 1526
原创 DC学习-第五章
5使用主存中的设计Design Compiler从设计文件中将设计读入到主存中。多个设计可以同时驻存于主存中。在设计读入后,你可以以多种方式来改变它,譬如对其自设计进行分组和解除分组或者改变子设计的引用。本章包含了一下部分: 设计的术语 读取设计 列出主存中的设计 设置当前设计 连接设计 列出设计对象 指定设计对象 创建设计 复制设计 重命名设计 改...
2019-09-30 17:15:24 8263 2
原创 DC学习-第四章
4使用libraries本章呈现了基本的library信息。Design Compiler使用technology,symbol和synthetic或者DesignWare 库来实现综合并展示图形化的综合结果。你必须知道如何执行一些简单的library命令,这样才能让Design Compiler正确的使用library数据。本章包含以下内容: 选择半导体供应商 理解library的需...
2019-09-25 17:10:40 2358
原创 DC学习-第三章
设计(也就是设计描述)存放在设计文件中。所有的设计文件名字不能重复,如果设计是层次化的,也就是每一个子设计都会引用个设计文件,那么这个设计文件的名字也必须是唯一的。注意,不同的设计文件可以包含相同名字的子设计。本章包含以下部分: 管理设计数据 为综合建立分区 适合综合的HDL代码编写管理设计数据使用系统的组织方法来管理设计数据。设计数据控制和数据组织是管理设计数据的两条个基本组成...
2019-09-24 11:18:06 1487
原创 DC学习-第二章
Design Compiler 基础本章提供了Design Compiler的基础知识。这里会向读者展示进阶的和基础的综合流程。同时会将从设计准备和库规范到编译策略的标准用户任务,优化和结果分析做为基础综合流程的一部分来演示。本章包含以下部分: 高层次设计流程 运行Design Compiler 对多核技术的支持 对Multicorner-Multimode设计的支持 Li...
2019-09-18 16:44:56 4313
原创 AMBA协议问题记录
1、ahb协议中slave采样hwdata需要在haddr有效的下一个周期。不要在地址phase采样。这个问题我犯了几次了。同样的,做master的时候,下发的hwdata也必须在地址phase之后一直保持到下一个ready有效。...
2019-09-18 15:12:52 263
原创 DC实战问题汇总
这篇博客主要记录我在使用DC的过程中出现的问题以及解决的办法。1、在设计文件中,可能将parameter单独提取出来,放在一个文件中。然后其他verilog文件就可以直接使用这些parameter。在DC的时候这些存放parameter的文件不要read到DC环境中。因为这样会报错。解决办法是将这些文件的路径放到searchpath中。具体操作如下:set searchPath “. pat...
2019-09-05 10:10:25 1609 2
原创 DC学习-前言及第一章
Design Compiler®User GuideVersion F-2011.09-SP2, December 2011前言前言包含以下部分:• 此次发布版本的新增内容• 关于本手册• 用户支持此次发布版本的新增内容关于新特性,加强的功能和修改的信息与已知的问题、限制和已解决的Synopsys Technical Action Requests (STARs),都可以在Sol...
2019-09-04 19:48:49 888
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人