verilog知识记录
    本文为学习Verilog记录,可以当作小白入门,想看更多verlog知识,推荐博客:Reborn Lee变量部分变量类型reg:此类型可以认为是一个寄存器,其可以保存值。wire:此类型仅仅可以进行assign进行赋值,其可以认为是一根导线。对于模块定义中的变量,如果没有显式的说明类型,将会默认为wire类型。一般而言,对于输出变            
                
         
            
            
            
            数字硬件建模SystemVerilog-循环语句        经过几周的更新,SV核心部分用户自定义类型和包内容已更新完毕,接下来就是RTL表达式和运算符。        马上HDLBits-SystemVerilog版本也开始准备了,基            
                
         
            
            
            
            昨天晚上看了一段代码,其中出现了`ifdef、`else、`endif,一时想不起来这几个关键字的用法的含义,所以今天来实验室就先查了一下,具体用法如下:一般情况下,Verilog HDL源程序中所有的行都参加编译。但是有时候希望对其中的一部份内容只有在条件满足的时候才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足条件时对一组语句进行编译,当条件不满足时则对另外一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-16 06:18:23
                            
                                454阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            2.1选择存储类型灵活性:如果数组的索引是连续的非负整数0、1、2、3等等,则应该使用定宽或者动态数组,长度可变的数据包使用动态数组。存储用量:使用双状态类型可以减少仿真的存储器用量,尽量使用32比特的整数倍最为数据带宽速度:应该根据每个时钟周期内的存取次数来选择数组类型排序:如果元素是一次性加入的话,则应该选择定宽或者动态数组,逐个加入的话则应该选择队列,队列的首尾加入元素的效率很高选择最优的数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-30 11:30:31
                            
                                116阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            foreach结构指定在数组元素上的迭代。它的自变量是一个指明任意类型数组(固定尺寸的、动态的、及联合数组)的标识符,然后紧跟着一个包围在方括号内的循环变量的列表。每一个循环变量对应于数组的某一维。foreach结构类似于一个使用数组范围替代一个表达式来指定重复次数的repeat循环。 例子:     
     string words[2] = {"hello", "world"};            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-29 15:37:19
                            
                                982阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            列表切片1.[::]2.[ :,j]3. [::]操作高阶用法 1.[::]适用于Python中的list(也就是数组),也适用于numpy科学结构(array等)。使用方法[start: end : step ],也就是[ 起始下标 : 终止下标 : 间隔距离 ]切片范围是: start <= x < end,注意:一个小于等于,一个小于。例1a=['egg', 'fish', '            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-21 08:46:32
                            
                                390阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            写在前面 在自己准备写verilog教程之前,参考了许多资料----FPGA Tutorial网站的这套verilog教程即是其一。这套教程写得不错,只是没有中文,在下只好斗胆翻译过来(加了自己的理解)分享给大家。这篇文章将讨论可以在 verilog 中使用的不同类型的循环语句----for循环、while循环、foever循环和repeat循环。正如之前文章中描述的那样,有许多语句只能在过程块中            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-05 21:51:57
                            
                                341阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,python语言方便易学,代码量明显下降,开发方便,这也是为什么python开发领域中流传着这样一句话:人生苦短,我学python。近年来python发展迅猛,如此之火,但是易于使用同样带来一些不足即易于误用。对于刚学习python的开发者来说或多或少会遇到一些错误,下面我们列举6个学习p            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-27 19:51:38
                            
                                76阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            interfaceVerilog语言使用端口名字连接各个模块;systemVerilog中使用“.*”可以自动匹配具有相同名字的线网和端口,自动连接的名字必须具有相同的端口位宽,连接的端口类型必须兼容;也可以使用“.name”进行连接,.name必须满足端口名字和位宽一直;Verilog传统连接的缺点:通信协议接口在多个模块中使用,在多个模块中都要声明相应的端口,同时不匹配的声明会导致编译错误,设            
                
         
            
            
            
            队列是一个特殊的线性表,队列简称为“对”。 队列的插入元素的操作称为“入队”或者“入队列”,删除元素的操作称为“出队”或者“出队列”。 那么,队列是如何插入元素和删除元素的呢。队列有两种存储结构,一种是顺序排列,另一种是链式排列。 队列的元素存放的都是地址连续的单元。而队列的特征是“先进先出”,且队列的入队只允许队尾操作,rear增加一位。队头front不允许修改。队列的出队则相反,只允许队头操作            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-30 18:56:17
                            
                                268阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录System Verilog 常见问题1 什么是callback?2 什么是factory pattern?3 解释数据类型logic、reg和wire之间的区别4 clocking block的用处5 使用system verilog 避免testbench与dut之间竞争冒险的方法6 system verilog中有哪些覆盖率类型7 virtualinterfaces的需求是什么8            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-06 11:40:19
                            
                                532阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             SystemVerilog学习——数据类型1. 内建数据类型1.1 逻辑数值类型1.2 符号类型 
                                    
                             
         
            
            
            
            一、过程语句  可以在 begin 或 fork 语句中使用标识符,然后在相对应的 end 和 join 语句中放置相同的标号,这使得程序块的首尾匹配更加容易。也可以把标识符放在其他语句里,如 endmodule、endtask、endfunction 等。  SV为循环功能增加了两个新语句,第一个是 continue,用于再循环中跳出本轮循环剩下的语句而直接进入下一轮循环。第二个是 break,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-08 22:23:08
                            
                                80阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            参考文献:https://www.chipverify.com/systemverilog/systemverilog-eventevent和旗语semaphore以及mailbox都是用于线程间的通信(IPC),负责线程之间的数据交换和同步。EVENT事件是静态的同步对象句柄(可以像参数一样在子程序中传递),它用来同步多个并发的进程,比如某个进程等待着事件,而另一个进程则触发这个事件。几个特征:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-16 19:03:14
                            
                                301阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Verilog/System Verilog 硬件设计语法说明SV通常语法说明声明相关语法包文本值和数据类型枚举数据类型用户自定义类型结构体联合体数组SV过程块改进的case语句改进的if...else判断语句SV状态机模型特殊语法说明 SV通常语法说明声明相关语法`include `include指令用于在代码行中包含任何其他文件的内容,被包含的文件即可以使用相对路径定义,也可以使用绝对路径定            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-25 09:36:04
                            
                                690阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Systemverilog 语法总结(中)上一个博客分享了SV基本的概念,这一博客继续分享,等下一个博客分享一个公司的验证的笔试题目。 l 事件背景:Verilog中当一个线程在一个事件上发生阻塞的同时,正好另一个线程触发了这个事件,则竞争就出现了。如果触发线程先于阻塞线程,则触发无效(触发是一个零宽度的脉冲)。解决方法:Systemverilog 引入了triggered()函数,用于            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-29 22:53:48
                            
                                51阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、function和task简介Systemverilog和Verilog中的 function 和 task有一些区别。1.1 verilog中task可以消耗时间,而function不能消耗时间。function不能包含一些消耗时间的语句,例如:#100n; @ ; wait()等fucntion不能调用taskverilog中的function必须要有返回值,并且返回值必须被使用,例如用到            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-27 17:12:00
                            
                                117阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            system verilog for verification:类中的方法默认使用自动存储;程序中的任务的局部变量会使用共享的静态存储区,若在程序的多个地方调用同一任务,不同线程之间会窜用这些局部变量;全局变量($root)-程序变量-类变量-方法变量;类应当在program或者module外的定义;模块和程序块中的子程序缺省情况下仍然使用静态存储;局部变量在仿真开始前就被赋了初值,当试图在声明中            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-22 13:22:56
                            
                                126阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、合并数组和非合并数组1)合并数组:存储方式是连续的,中间没有闲置空间。例如,32bit的寄存器,可以看成是4个8bit的数据,或者也可以看成是1个32bit的数据。表示方法:数组大小和位,必须在变量名前指定,数组大小必须是【msb:lsb】Bit[3:0] [7:0] bytes   ;2)非合并数组:Bit [7:0] bytes [0:3]             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-09 14:52:43
                            
                                615阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Python冒号里的冒号
在Python中,冒号(:)是一个非常重要的符号,它经常出现在函数定义、条件语句、循环语句等地方。然而,有一种用法可能比较陌生,那就是“冒号里的冒号”。本文将介绍这种用法,并通过代码示例来帮助读者更好地理解。
## 什么是“冒号里的冒号”?
在Python中,我们可以使用“冒号里的冒号”来表示一种特殊的切片操作。通常情况下,我们使用冒号来进行切片操作,比如`li            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-17 03:40:32
                            
                                87阅读