![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数字IC设计
文章平均质量分 73
数字IC设计使用的一些工具以及知识讲解。
凳子花❀
青州街男子技术学院 && 五道口职业技术学院(深圳分院)[斜眼笑]
展开
-
HLS xfopencv库综合遇到的问题汇总
【代码】HLS xfopencv库综合遇到的问题汇总。原创 2024-02-19 12:58:18 · 278 阅读 · 0 评论 -
HLS 三角函数报错:undefined reference to ‘cordic_apfixed::circ_table_arctan_128‘
circ_table_arctan_128是hls中用在CORDIC算法里面的一些提前计算好的数据,CORDIC算法我就不介绍了,自己百度一下网上很多,一般用在FPGA中简化三角函数的计算。通过GPT大法,我最终算出了可靠的值,大家直接将。网上搜了很久,没有相应的解决方案。于是自己研究为什么会这样,个人感觉这个circ_table_arctan_128变量的定义应该是在某个动态链接库中,但是找了一下没找到相应的库,因此只能用最笨的方法了。这样重新编译,hls就不会报错了。,可见该变量是个外部变量。原创 2024-02-08 21:49:02 · 621 阅读 · 1 评论 -
使用HLS FFT报错: undefined reference to‘xilinx_ip_xfft_v9_1_*‘问题解决方法
输入o(小写的o)进入输入模式,输入动态库的绝对路径/tools/Xilinx/Vitis_HLS/2021.1/lnx64/tools/fft_v9_1和/tools/Xilinx/Vitis_HLS/2021.1/lnx64/tools/fpo_v7_0。从hls_fft.h逐步定位到xfft_v9_1_bitacc_cmodel.h中发现这几个函数都只有声明,而找不到定义。输入完成后,按下esc键,然后输入:wq,保存并退出。重新make clean,再编译,发现问题解决了。中,我们将其软链接到。原创 2024-02-08 21:34:49 · 427 阅读 · 0 评论 -
数字芯片验证入门
验证策略不会涉及验证的详细计划,验证计划就是对验证策略进一步详细地阐述,包括详细时间安排、人力需求、TB结构、配置、提取Verification feature并划分优先级、TB局限性分析、reuse组件、 testcases规划、覆盖率和每个阶段验收标准等等,甚至可以包含coding guideline。以下是写验证计划时,需要涉及的一些参考点。可以通过这样的方式描述:通过什么样的输入(input),RTL会做什么反应(process),最终有什么的结果或输出(output),也就是IPO原则。原创 2023-08-11 12:09:12 · 619 阅读 · 0 评论 -
Linux常用命令
将在指定文件夹中查找所有包含 “example” 的文件,并输出匹配的文件名和行号。命令在指定文件夹的文件中查找字符串,并输出匹配的文件名和行号。参数时,请确保在替换之前备份重要的文件,以免意外的数据损失。是一个流编辑器,它可以用来进行文本替换和编辑。将在指定文件夹中的所有文件中进行字符串替换。命令来在指定文件夹的文件中替换字符串。原创 2023-08-04 10:04:13 · 369 阅读 · 0 评论 -
UVM简介
UVM为硬件设计的验证提供了一个完整的框架和一组规范,旨在提高验证工程师的生产力,降低验证任务的复杂性,并促进团队间的协作。在 UVM(Universal Verification Methodology)中,Agent、Monitor、Driver 和 Sequencer 是用于硬件验证的重要组件,它们通常在环境(Environment)中被使用,协同工作以完成对设计(DUT)的验证任务。通过将测试过程分为不同的阶段,UVM 可以更好地控制测试台架的执行流程,确保每个组件在合适的时机执行相应的任务。原创 2023-08-01 16:01:55 · 4243 阅读 · 0 评论 -
数字IC/FPGA设计基础_门控时钟(clock gating)
文章目录数字IC/FPGA设计基础_门控时钟(clock gating)数字IC/FPGA设计基础_门控时钟(clock gating)数字IC/FPGA设计基础_门控时钟(clock gating)(数字IC)低功耗设计入门(五)——RTL级低功耗设计(续)转载 2023-07-20 14:36:51 · 463 阅读 · 0 评论 -
HLS新手入门教程
HLS新手入门笔记原创 2023-02-16 23:34:49 · 9008 阅读 · 2 评论 -
一个简单LEGv8处理器的Verilog实现【四】【单周期实现基础知识及模块设计讲解】
文章目录博客结构安排本系列其他博客源码下载参考资料参考资料下载好的,本节就先讲到这里,如果你有收获且乐意的话,麻烦点个赞哦,收藏也可以哇( ̄▽ ̄)~*博客结构安排本系列博客共分为5篇:第一篇对一些处理器基础知识进行简单讲解,并讲清楚实验要求。第二篇从指令、寄存器、汇编器的角度对设计处理器所需要的基础知识进行较为详细的讲解,并对实验所需汇编程序进行了分析。本系列其他博客一个简单LEGv8处理器的Verilog实现【一】【实验简介】一个简单LEGv8处理器的Verilog实现【二】【基原创 2022-06-05 22:13:00 · 1996 阅读 · 2 评论 -
gvim【一】【安装和基本使用】
文章目录安装基础使用模式简介编辑模式命令模式1. 光标移动2. 复制/剪切/删除/粘贴操作3. 撤销/恢复4. 其他末行模式有关Vim的具体介绍请查看:Linux虚拟机(CentOS5)学习笔记(三)之Vim,此处不再具体介绍,只讲解一些GVIM的安装和基础使用。安装GVIM下载:GVIM打开上述网页(可能比较慢),然后点击下图红框所示下载安装包:双击.exe程序,开始安装,点击下一步:勾选“我接受…”,然后点击下一步:默认即可:兼容性与扩展选择:Vim原始版本和所有扩展(缺省),这原创 2022-05-12 17:48:01 · 16418 阅读 · 9 评论 -
gvim【二】【ab命令快速制作verilog模板】
最近刚学习gvim,然后发现有个神奇的功能,可以快速制作verilog模板,但是网上没有相应的分享,所以自己制作了一个,分享出来(windows下)。模板包括:module,时序逻辑块,组合逻辑块,testbench,计数器和三段式状态机。使用方法:1.将以下代码拷贝到 _vimrc文件中(该文件在安装目录中)::ab Module module module_name(<enter......原创 2020-03-30 15:06:53 · 5144 阅读 · 14 评论 -
Verilog实现FIFO设计(一)之同步8位深度
最近学习verilog设计FIFO,记录一下。一. 设计原理FIFO( First in First out) 使用在需要产生数据接口的部分,用来存储、缓冲在两个异步时钟之间的数据传输。在异步电路中,由于时钟之间周期和相位完全独立,因此数据丢失概率不为零。使用 FIFO 可以在两个不同时钟域系统之间快速而方便地传输实时数据。这次的设计我们就来学习一下设计一个 8 位 8 深度的 FIFO以及一...原创 2020-04-14 22:06:59 · 3551 阅读 · 3 评论 -
Verilog实现FIFO设计(二)之异步可变位宽,可变深度
请查看:异步FIFO—Verilog实现写的非常好,此处不再赘述。补充一下采用博主代码实现时候的一些问题(可能是我个人的问题):在fifo_async这个模块中的下列代码://=========================================================write fifo genvar i;generate for(i = 0; i < data_depth; i = i + 1 )begin:fifo_initalways@(posedg原创 2021-08-15 21:57:38 · 2286 阅读 · 0 评论 -
Modelsim的tcl命令
一. 前言最近学习了modelsim的tcl命令,可以直接在transcript窗口通过命令来执行操作,更重要的是可以不打开modelsim就生成一些波形文件(例如.vcd等),方便后续使用(debuss调试波形)。二. 命令总结总结了一下tcl中常见命令(都加了注释):#Quit last simquit -sim#Create the work libraryvlib work...原创 2020-04-01 01:22:38 · 7847 阅读 · 0 评论 -
ModelSim+Debussy联调
一. 概述Debussy是NOVAS Software, Inc ( 思源科技 )发展的HDL Debug & Analysis tool,这套软体主要不是用来跑模拟或看波形,它最强大的功能是:能够在HDL source code、schematic diagram(原理图)、waveform、state bubble diagram(状态图)之间,即时做trace,协助工程师debug...原创 2020-04-02 00:12:02 · 3712 阅读 · 6 评论 -
Synopsys逻辑综合及DesignCompiler的使用
逻辑综合一. 基础知识逻辑综合的目的:决定电路门级结构、寻求时序(性能)和面积的平衡、寻求功耗与时序的平衡、增强电路的测试性。二. 逻辑综合流程Design Compiler使用使用DesignCompiler综合过程:一. Design Compiler打开方式一共有4种打开方式:1.dc_shell-t1.1 在shell中输入dc_shell-t1.2 也...原创 2020-04-15 18:31:38 · 20496 阅读 · 9 评论 -
ICC使用----ICC 1 Lab Guide学习笔记
文章目录PrefaceICC 1 Lab GuideNote:1.Data Setup & Basic Flow(P27)Learning ObjectivesCreate a Milkyway libraryLoad the Netlist, TLU+, Constraints and ControlsBasic Flow: Design PlanningBasic Flow: PlacementBasic Flow: CTSBasic Flow: Routing2.Design Planning原创 2020-09-21 08:16:47 · 9063 阅读 · 1 评论 -
画时序图软件——TimeGen和Timing Designer下载
在写实验报告的时候需要画波形图,但是手头没有很好的软件,就上网搜了一些,分享出来。这里分享的是TimeGen和Timing Designer两个软件,资源均来自网上,有侵权请联系。TimeGen使用和安装都比较简单,我发的应该里面有破解方法的,如果没有的话请大家自己百度一下,因为我也是百度完才破解的,时间比较久远了,就不给大家找了;Timing Designer这个软件很麻烦,不管是破解还是安装,都非常费事,如果着急使用的话,建议用前者。安装步骤也分享给大家了,如果有需要,大家可以参考那个步骤来。软件的转载 2020-08-02 09:35:05 · 6315 阅读 · 0 评论 -
VHDL硬件描述语言学习笔记(一)
一、概述1.1 什么是VHDLVHDL:超高速集成电路硬件描述语言VHSIC(Very High Speed Integrated Circuit,超高速集成电路)HardwareDescriptionLanguage1.2 VHDL历史80年代初由美国国防部在实施超高速集成电路(VHSIC)项目时开发的。1987年由IEEE协会批准为IEEE工业标准,称为IEEE1076-1987。各EDA公司相继推出支持VHDL的设计环境。1993年被更新为93标准,即EEE1076-1993。原创 2021-09-11 23:11:42 · 1606 阅读 · 0 评论 -
VHDL硬件描述语言学习笔记(二)
文章目录1.3 VHDL语言要素1.3.1 VHDL文字规则1.3.2 数据对象1.3.3 VHDL数据类型1.3.4 VHDL中的表达式1.4 VHDL顺序语句(Sequential)3.4.1 对象与赋值语句1.4.2转向控制语句1.3 VHDL语言要素四类语言要素:数据对象(Data Object)数据类型(Data Type)操作数(Operands)操作符(Operator)1.3.1 VHDL文字规则数字型文字(1)整数文字:十进制整数如:5,678,156E2(=15原创 2021-09-14 16:21:40 · 5057 阅读 · 0 评论 -
VHDL硬件描述语言学习笔记(三)
文章目录1.4.5 return 语句1.4.6 null语句1.4.7 其它语句和说明1.5 VHDL并发语句(Concurrent)1.4.5 return 语句return语句只能用于子程序中,并用来终止一个子程序的执行。格式:return [表达式];分为:1)return;用于过程,只是结束过程,不返回任何值。2)return 表达式;用于函数,并且必须返回一个值。例:用于过程的return语句procedure rs(s,r: in std_logic; q,nq:原创 2021-09-19 14:55:44 · 2252 阅读 · 0 评论 -
一个简单LEGv8处理器的Verilog实现【一】【实验简介】
文章目录一、写在前面二、实验介绍指令集微处理器测试编写一、写在前面如果你是数字IC设计小白,建议阅读以下内容;如果你基础比较扎实且时间较紧,可以直接跳到第二部分开始正文。本实验是在完成《数字集成系统设计》课程大作业时实现的,由于在实现过程中可以比较深刻的体会到处理器的设计流程,故分享出来给初学者提供一个简单参考。当然,作为一个大作业,难度并不太高,没有实现太多的指令,也没有实现多发射等操作。此外,本人水平也有限,代码质量可能不是太高,也没有进行优化,仅限于完成操作,故可能有较多不足,还请大佬批评指正原创 2022-04-08 20:50:53 · 3917 阅读 · 0 评论 -
一个简单LEGv8处理器的Verilog实现【二】【指令相关基础知识与实验分析】
文章目录一、LEGv8指令集1. LEGv8汇编语言伪指令二、寄存器三、汇编器基础不牢,地动山摇。本节先讲解在设计LEGv8处理器时用到的一些有关处理器的基本知识,建议初学者再学一遍。本节主要分两大部分来进行讲解,第一部分是指令,第二部分是寄存器。在讲解完这些知识后,将对本次实验的两个程序进行分析,以便于后续编程。一、LEGv8指令集1. LEGv8汇编语言指令在计算机内部是以一系列或高或低的电信号表示的,形式上和数的表示相同。实际上,指令的各部分都可看成一个独立的数,将这些数拼接在一起就形成了指原创 2022-04-14 00:38:10 · 4038 阅读 · 2 评论 -
一个简单LEGv8处理器的Verilog实现【三】【工具使用和编程规范】
文章目录博客结构安排本系列其他博客源码下载参考资料参考资料下载工欲善其事,必先利其器。为了更好的进行Verilog开发,我们首先需要掌握最基本的开发工具,包括但不限于:好的,本节就先讲到这里,如果你有收获且乐意的话,麻烦点个赞哦,收藏也可以哇( ̄▽ ̄)~*博客结构安排本系列博客共分为5篇:第一篇对一些处理器基础知识进行简单讲解,并讲清楚实验要求。第二篇从指令、寄存器、汇编器的角度对设计处理器所需要的基础知识进行较为详细的讲解,并对实验所需汇编程序进行了分析。本系列其他博客原创 2022-05-09 22:06:11 · 1808 阅读 · 0 评论 -
4位加法器四级流水线、4位加法器两级流水线以及32位加法器八级流水线设计
Preface最近有个小课设,需要设计一个流水线加法器,老师说企业面试也会考,网上的4位加法器大多是2级流水线,我整了一个4位的(其实如果只是4位加法器的话,用4级流水不一定更好),写的可能不是很好,请大家批判性参考。一般位数很多的话可以使用超前进位加法器和串行加法器结合或者就通过流水线来进行设计,提高频率。可以参考的几个资料:这个写的还是可以的,一个两级流水线:verilog流水线加法器流水线定义请看这篇,讲的还蛮详细:Verilog十大基本功1(流水线设计Pipeline Design)原创 2020-12-12 21:13:17 · 3527 阅读 · 1 评论 -
4人抢答器----基于Step MAX10小脚丫开发板
设计任务1、四人通过按键抢答,最先按下按键的人抢答成功,此后其他人抢答无效,抢答成功的人对应的LED灯亮。2、每次只有一人可获得抢答资格,一次抢答完后主持人通过复位按键复位,选手再从新抢答。3、有重新开始游戏按键,游戏从新开始时每位选手有5分的初始分,答对加1分,答错扣1分,最高分不能超过9分,最低为0分。4、每位选手和主持人共有30秒时间进行回答和加减分,在此期间,RGB为蓝色灯;超过30秒,RGB变为红色,即报警;未开始抢答,则RGB灯为绿色。5、选手抢答成功时通过数码管显示其对应的分数。代原创 2020-12-12 21:35:08 · 4251 阅读 · 2 评论 -
ADS元器件面板介绍
ADS元器件面板原创 2021-04-15 20:40:08 · 2762 阅读 · 1 评论 -
Makefile学习笔记
写在前面:如果您只是想快速了解Makefile的基础知识,建议直接跳转到二、入门文章,然后转到相应链接去查看原文,本文只是摘抄了一些比较重要的知识;如果您想深入了解Makefile语法请先查看二、入门文章有一定的基础后再去三、进阶文章去查看原文,进阶文章对于初学者来说可能比较难看懂,需要稍微对Makefile有一定的了解。本文列出了进阶文章原文对应的目录链接,有需要者可以直接跳转到对应原文进行查看。本文第一部分列出了GNU_Make的英文参考手册,方便大家查阅,还有一个是Github上一位大佬的文章。原创 2021-08-15 23:20:47 · 515 阅读 · 0 评论 -
cmake学习
最近做项目用到了cmake,起初就跟着教程敲了几条命令,但有很多地方不理解,所以就搜了几篇教程,转载一下,博主写的贼好,入门足矣:1.CMake入门实践(一) 什么是cmake2.CMake入门实践(二) 多文件构建3.CMake入门实践(三) :复杂的HelloWorld项目...原创 2021-07-13 09:42:02 · 129 阅读 · 0 评论 -
cmake出错:Building inplace are not allowed. You should create a separate directory for Building.
参考:“In-source builds are not allowed” in cmake只需要把CMakeCache.txt 删除即可:rm CMakeCache.txt 。然后再执行cmake …即可。原创 2021-07-07 17:56:59 · 878 阅读 · 0 评论 -
cadence virtuoso画版图提示LUP.6错误
最近通过cadence画这个电路版图时遇到了latch up的错误,具体错误如下:LUP.6 ( @ Any point inside NMOS source/drain space to the nearest PW STRAP in the same PW<= 30 um @ Any point inside PMOS source/drain space to the nearest NW STRAP in the same NW<= 30 um @ In原创 2022-01-10 11:19:33 · 8354 阅读 · 2 评论 -
Compxlib does not support mti_se version 6.3b or prior releases.
ISE12.4进行Compile Simulation Libraries时出现错误:Compxlib does not support mti_se version 6.3b or prior releases.错误如下:368 - Compxlib does not support mti_se version 6.3b or prior releases. Parsing through the path setting on your system we have identified t原创 2020-11-11 20:17:38 · 592 阅读 · 0 评论 -
XPS10.1仿真PPC440步骤及遇到的问题
Preface链接:https://pan.baidu.com/s/1HhFdYdI8VHKwDnYyhU1cxw提取码:c2y9复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享首先先下载上面两个文件(两个文件都是从Xilinx官方下载的),第一个.pdf文件是讲解使用XPS和SDK来对PPC440系统进行仿真的,讲解的是流程,我们主要是照着这个流程来做。但是会遇到各种各样的问题,里面是不会讲到的,我这里做一下总结。第二个文件是Xilinx官方给出的例程,.原创 2020-11-25 20:18:05 · 561 阅读 · 6 评论