verilog
veriolog 基础学习
脑袋秃秃
这个作者很懒,什么都没留下…
展开
-
vivado bram 参数设置(二)
1、rsta_busy and rstb_busy当这两个信号有效时,bram是无效的。Block Memory Generator’s safety circuit includes two output ports rsta_busy and rstb_busy to indicate that the BRAM should not be accessed when these signals are asserted.这两个信号出现在 使用 set/reset pin 时,不使用 Core原创 2021-01-28 14:29:56 · 1822 阅读 · 0 评论 -
vivado bram 中的 width 与 depth 设置注意事项
1、width 和 depth 的设置起始范围width : 1~4608(固定不变)depth : 2~1048576(随着width设置的值会改变)2、当不勾选 byte write enable 时write width 可在1~4608内随意设置。write depth 的值也可以随意在2~1048576中进行设置。a)当 write width 是 write depth 的整数倍或 write depth 是 write width 的整数倍时,read widt原创 2021-01-26 14:44:57 · 3897 阅读 · 0 评论 -
集成电路中的assert和deassert
集成电路的数据手册中经常出现assert和deassert二个单词assert:"有效".deassert:"无效".转载地址:https://blog.csdn.net/code_robot/article/details/37663085转载 2021-01-04 09:39:39 · 838 阅读 · 0 评论 -
vivado bram 参数设置
(primitive output register & pipeline stage & core output register & CE & SR)原创 2020-12-31 16:09:58 · 1922 阅读 · 1 评论 -
vivado利用tcl文件一键生成ram ip
vivado的目录结构:1、*.xpc : 项目管理文件,里面记录了该工程的文件索引2、*.src : 项目源文件目录,ip目录下是ip核生成的文件3、*.runs : 内部有许多名为(name)_synth_n和(name)_imp_n形式的文件夹,里面是综合和布局布线生成的一些临时文件,对于主模块,其(name)为空,里面生成的文件中包含报告文件和bit流。VIVADO 提供两种代码封装方法:DCP文件和edf文件。1、write_checkpoint -force /x/xx.原创 2020-12-18 16:19:34 · 3146 阅读 · 1 评论 -
jinjia2调用json文件注意事项
1.并列的数据之间用逗号(,)分隔2.映射用冒号(:)表示3.并列数据的集合(数组)用方括号([])表示4.映射的集合(对象)用大括号({})表示原创 2020-12-15 16:59:51 · 1311 阅读 · 2 评论 -
modelsim 使用小技巧
1、tab缩进设置modelsim默认设置为8,但我们一般习惯tab = 4的设置方式。设置路径:tool -> edit preferences -> by name -> source -> tabs2、modelsim 基本仿真步骤 https://www.doc88.com/p-1833462636692.html这个ppt写的很详细。3、仿真波形出现“no object”错误在网上教程,都是说要把优化方式给去掉。但我去掉优化方式,仿真就会报.原创 2020-12-07 10:28:04 · 1539 阅读 · 0 评论 -
vivado IP核知识点学习
OCC模式OOC是Vivado开发套件提供的一项技术,该综合模式本质上是一种自底向上(bottom-up)的综合方法,该方法可用于IP、IPI(IP Integrator)的Block Design以及选择将HDL对象(即用户逻辑)当作一个隔离模块运行 完成自底向上的综合流程。针对定制IP 由于不需要每次综合时都运行整个设计,这项技术可以大大减少顶层模块的综合运行时间。IP核就是典型的采用OOC技术的代表,配置好IP核后可以选择综合模式为global(与顶层设计一起综合)或Out-...原创 2020-11-25 16:30:07 · 1755 阅读 · 0 评论 -
RAM - IP核学习
RAM一般分为3种类型:1、真双端口RAM(True Dual-Port ram,TDP),这两个端口都可以独立地对块RAN 进行读/写;2、伪双端口RAM(Simple Dual-Port ram,SDP)。这两个端口,一个只能读,另一个只能写;3、单端口RAM(Single Port Ram,SP),只有一个端口,读/写只能通过这一个端口来进行。例化:当我们完成一个比较完整的系统的时候,通常需要编写一个Testbench来验证自己的设计的功能能否满足设计要求。在这个系统中通常会.原创 2020-11-17 10:21:59 · 934 阅读 · 0 评论 -
Verilog中的时序问题
当电路中发生时序问题时,可以尝试加d触发器,如:always @(negedge rst_n or posedge clk) begin if(~rst_n) begin a <= 0 ; c <= 0 ; end else begin a <= k1 ; c <= b ; endendassign b = a ;例如上述这个例子,将k1延迟了两个周期。以此类推,可以原创 2020-06-23 10:51:30 · 2549 阅读 · 0 评论 -
iverilog & gtkwave基础练手
github地址:https://github.com/albertxie/iverilog-tutorial先安装iverilog和gtkwave。sudo apt-get install iverilogsudo apt-get install gtkwave从github克隆代码,进行编译,编译后生成simple.vvp文件。iverilog -o simple.vvp simple.v simple_tb.v其中,simple.v代码内容为:// very stand原创 2020-05-19 14:43:14 · 1593 阅读 · 0 评论 -
利用apt-get无法安装,安装失败
sudo apt-get install iverilogsudo apt-get install gtkwave安装gtkwave时,遇到无法定位软件包gtkware.原创 2020-05-18 19:53:55 · 2455 阅读 · 0 评论 -
9、Verilog HDL--组合电路设计 时序电路设计
这节课大多都是数电的内容。1、数字编码器用文字、符号或数码表示 特定对象的过程称为编码。在数字编码中用二进制有关的信号称为二进制编码。例、8线-3线优先编码器用n位二进制代码对个一般信号进行编码的电路,称为二进制编码器。优先编码器允许多个输入信号同时有效,但它只对其中优先级别最高的有效输入信号编码,对级别低的输入信号不理睬。...原创 2020-04-14 15:06:55 · 1489 阅读 · 0 评论 -
8、Verilog HDL--语言设计思想和可综合特性、组合电路设计
Verilog HDL语言主要用于电路设计和验证,部分语言是为电路的测试和仿真制定,因此其语言分为用于电路设计的可综合性语言和用于仿真的不可综合性语言。1、组合电路的设计组合电路的特点是,电路中任意时刻的稳态输出仅仅取决于该时刻的输入,而与电路原来的状态无关。组合电路的设计需要从以下几个方面考虑:首先,所用的逻辑器件数目最少,器件的种类最少,且器件之间的连线最简单,这样的电路称为“最小...原创 2020-04-10 17:54:43 · 1040 阅读 · 0 评论 -
7、Verilog HDL--结构化建模
1、模块级建模(1)模块调用方式语法格式:模块名 <参数值列表> 示例名(端口名列表)示例如下:当一个模块在当前模块被调用多次,其语法格式为:当定义的模块为标量时,若对其进行矢量调用,语法格式为:<被调用模块名> <实例阵列表> [阵列左边界:阵列右边界](<端口连接表>)(2)模块对应方式a)端口位置对应方式...原创 2020-04-09 18:18:27 · 1694 阅读 · 0 评论 -
6、Verilog HDL--行为级建模2
1、条件分支语句(1)if 条件语句if 条件语句就是判断所给的条件是否满足,然后根据判断的结果来确定下一步操作。主要表达形式有以下三种:if 条件语句示例如下:(2)case条件分支语句当if 语句中含有多个if语句的嵌套使用时,可以采取case条件语句。case语句的语法格式为:使用case语句需要注意的是:2、循环语句(1)forever循...原创 2020-04-08 18:26:27 · 274 阅读 · 0 评论 -
5、Verilog HDL--行为级建模1
1、语句块串行语句块:begin…end 延时执行并行语句块:fork…join 并行执行,只能用于仿真测试程序2、过程赋值语句(1)阻塞赋值语句:操作符号 “=”,语法格式 变量=表达式特点:执行有先后顺序之分,主要体现在begin…end语句块中。(先计算表达式,再立即赋值)(2)非阻塞赋值语句:操作符号 “<=”,语法格式 变量&l...原创 2020-04-08 15:10:47 · 372 阅读 · 0 评论 -
4、Verilog HDL--数据流建模
1、连续赋值语句目标类型(1)标量线网,如 wire a,b; (2)向量线网,如 wire[3:0]a,b;显式连续赋值语句:先定义,再赋值(用的多)。形式如下:具体示例如下:隐式连续赋值语句:直接定义并赋值。形式如下:具体实例如下:其中,assign相当于连线,一般是将一个变量的值不间断地赋值给另一个变量,就像把这两个变量连在一起,所以习惯性的当做连线用...原创 2020-04-03 18:15:05 · 1033 阅读 · 0 评论 -
3、Verilog HDL--运算符和表达式
1、算术操作符主要包括加“+”、减“-”、乘“x”、除“/”、取模“%”。例:当 a = 4’b1111, b = 3’b011 时,即 a*b结果如下图所示:二进制运算结果与十进制运算结果一致。比如,用十进制表示,a=15,b=3,即a*b=45,用二进制表示为101101。因此,a/b=5,即为4'b0101。2、关系操作符主要包含大于“>”、小于“<”...原创 2020-04-02 18:27:44 · 4580 阅读 · 0 评论 -
2、Verilog HDL--语言要素
1、 空白符空格符(\b)、制表符(\t)、换行符和换页符。目的:主要是为了程序的易读性。2、注释符单行注释:以“//”开始;多行注释:以“/*”开始,并以”...原创 2020-03-15 16:46:01 · 1548 阅读 · 0 评论 -
1、Verilog HDL--电路设计方法概述
verilog简单概述原创 2020-03-12 16:57:46 · 1546 阅读 · 0 评论