- 博客(36)
- 收藏
- 关注
转载 Verilog仿真时钟
变量初始化的基本原则为:可综合代码中完成内部变量的初始化,Testbench中完成可综合代码所需的各类接口信号的初始化。转载于:https://www.cnblogs.com/Edam-IC/p/9054278.html。当initial语句块中有多条语句时,需要用begin…// 相位偏移为360*pshift_time/(High_time+Low_time)初始化的方法有两种:一种是通过initial语句块初始化;// 占空比为High_time/(High_time+Low_time)
2025-03-17 10:32:14
19
原创 verilog有符号数处理摘要
这个时候进入的二进制以补码的形式表示,出来的二进制也以补码的形式表示,在查看波形时,也以补码的形式查看。意思是说,当我们进行有符号数进行运算的时候,我们不要手动转换符号位了,Verilog会自动识别最高位为符号位,同时在运算过程中会自动进行符号位的扩展。这两个数进行有符号数的乘法运算,得到的自然也是有符号数的积,因此这里的输出也定义为有符号数。signed()把输入变成有符号数,同时定义一个有符号的中间结果,这样子就可以使用有符号的乘法器进行运算了。例子2中,输入的是两个无符号数,输出也定义为无符号数。
2025-03-17 10:11:50
785
原创 数字IC秋招必备基础知识
(12)AXI总线(如果用过),三种总线的应用场景、握手机制、AXI的5个通道、outstanding;(23)存储器,RAM、ROM、SRAM、DRAM、SDRAM、Flash、EEPROM等;(4)FIFO的相关扩展,同步FIFO实现、异步FIFO结构、格雷码、FIFO深度计算;(3)跨时钟域处理,单bit(快->慢,慢->快),多bit异步FIFO,DMUX;(26)时钟分频,偶数分频、奇数分频(常见)、小数分频(0.5小数和任意小数);(10)低速总线(如果用过),SPI、IIC、UART;
2025-02-28 08:59:25
246
原创 跨时钟域信号处理及verilog实现
亚稳态:触发器无法在某个规定时间段内达到一个可确认的状态。亚稳态会带来功能的错误亚稳态时既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。触发器输岀一些中间级电平,或者可能处于振荡状态。这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。
2025-02-25 09:36:09
630
原创 基于脚本的modelsim自动化仿真笔记
(3)前仿真(功能仿真),一般只需要设计文件跟测试文件,因此直接使用独立版本的modelsim就可以了。如果是后仿真或者带有各种IP核的仿真,则可以这样做:用QII/ISE/Vivado调用独立的modelsim进行仿真。上面介绍的知识中,既介绍了普通模块的仿真脚本,也介绍了有IP核设计的脚本仿真,下面给出一个通用的脚本文件,当然这个文件只适合用于前仿真(即功能仿真),至于后仿真后面介绍。最后在仿真代码的时候,可以使用了独立的modelsim、altera自带的modelsim、ISE自带的Isim。
2025-02-11 09:24:03
354
原创 DDR原理详解
存储器主要分为只读存储器 ROM 和随机存取存储器 RAM两大类。ROM:只读存储器 ROM 所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,ROM所存数据稳定,断电后所存数据也不会改变。RAM:随机存取存储器RAM 是与 CPU 直接交换数据的内部存储器,它可以随时读写,速度快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介,当电源关闭时 RAM 不能保留数据。
2025-02-10 21:40:01
532
原创 cmos晶体管
Vdd的80%及以上,定义为数字电路的“1”Vdd的20%及以下,定义为数字电路的“0”不同的器件,高低电平的百分比可能不同transition(信号爬升时间):同一个信号从0到1或者从1到0的时间delay(信号传输延时):一个cell的输入变化(50%VDD)到输出变化(50%VDD)的时间。
2025-02-10 15:23:04
963
原创 Verilog常见错误
在always block开始赋default值,这样即使if else / case 不全,也不会综合成latch。可能导致RTL SIM挂死,仿真时间不往前推进。后果:RTL仿真和GATE仿真结果不一致。2、if else/case条件不全。always组合逻辑常见错误。后果:综合出latch。
2025-02-10 15:21:00
359
原创 基本电路原理
当A=1时,上面PMOS为OFF,下面NMOS为ON,Y接到地,为0当A=0时,上面PMOS为ON,下面NMOS为OFF,Y接到VDD,为1。
2025-02-10 15:20:08
392
原创 TCL语言
例如:set aaa yyx\ space #aaa=“yyx space"“”的用法:“”内的字符,仅对$,[],\替换作识别,把其他的关键值当成普通字符。使用”\“,告诉tcl比解释器:“\”后面的一个字符是普通字符,没有特殊含义。现在,y=“10+100”,工具会认为y是一个字符串,“110”使用“$"作用于一个已经定义的变量之前,表示替换为该变量的值。list 是一个包含多个元素的结构,类似C中的数组。TCL中的数组需要定义:数组名,数组元素名。{}的用法:{}内的所有字符全是普通字符。
2025-02-10 15:16:49
305
原创 coding style
FPGA中,DFF可以在定义的时候赋初值。但是在ASIC中,reg型变量,不能在定义的时候赋初始值。这样是不可综合的。数学运算,需要准确定义数据位宽,这样综合面积才小。设计者应该是知道运算结果的可能取值范围的。综合工具推断的话,只能按照计算不溢出的最小bit数来优化,可能不是最优结果。
2025-02-10 15:16:10
428
原创 在彼此的根系里呼吸
那些被泪水泡软的土壤里,终将生长出比誓言更坚韧的东西:它可能是病榻前晾凉又温热的半碗白粥,可能是失业寒冬里共裹的一条旧毛毯,更可能是某个寻常午后,忽然惊觉对方眼角的皱纹里,竟藏着自己青春的模样。这里没有永恒的征服者,只有两个带着旧地图的旅人,在某个星垂平野的夜晚,忽然懂得将“你错我对”的界碑,熔铸成指向明日的路标。她攀岩时像野生的藤,他观星时若入定的僧。它像一本未写完的诗集,每个平淡的逗点都在等待被赋予深意——当银丝爬满鬓角时,他们终于读懂:所谓白头偕老,不过是无数个“此刻”的晨露,汇聚成了永恒的深潭。
2025-01-30 21:31:18
225
原创 From Orthogonal Time Frequency Space to Affine Frequency Division Multiplexing
这篇文献探讨了下一代无线通信系统中用于综合感知与通信(ISAC)的波形设计,主要聚焦于正交时频空间(OTFS)和仿射频分复用(AFDM)两种新型波形,并与传统的正交频分复用(OFDM)进行比较。研究背景下一代通信系统的需求5G之后的无线系统(B5G/6G)需要支持高频毫米波(mm-wave)和太赫兹(THz)频段的通信,以满足如物联网(IoT)、边缘计算、智慧城市、高速交通和非地面网络(如卫星通信)等应用需求。
2025-01-09 15:47:37
1460
3
原创 《Semantic communications - Principles and challenges》语义通信文献阅读与分析总结
语义通信的概念语义通信是一种超越传统香农通信范式的全新通信模式,它关注的是信息意义的传递,而不仅仅是数据本身的准确传输。传统通信强调比特级别的准确性,而语义通信更强调信息对接收方执行特定任务的有效性。这种模式被认为是第六代(6G)无线网络的核心技术之一,能够支持包括智能交通、智能监控、视频会议、增强现实(AR)和虚拟现实(VR)在内的多种智能应用。在语义通信中,发送方在传输前对信息进行语义编码,只提取出对任务执行最相关的特征,从而减少不必要的信息传输。
2025-01-09 15:42:38
981
原创 verilog中+:和-:用法
在Verilog中,+: 和 -: 是用于部分选择的操作符,它们通常用来选择一个向量中的一部分,或者进行位的切片操作。用于从指定起始位向右选取一定数量的位。用于从指定起始位向左选取一定数量的位。
2024-12-11 09:02:56
771
原创 同步fifo
FIFO即是一种先进先出的数据缓存器。同步FIFO指的是数据的写入和读出的时钟是同一个时钟。异步 FIFO 有两个时钟信号,读和写逻辑用的各自的读写时钟。FIFO没有外部读写地址线,使用起来简单。但是缺点就是只能先入先出,数据地址由内部读写指针自动加1完成。不能像普通存储器那样可以由地址线决定读取或者写入某个指定的地址。
2024-12-05 16:31:38
533
原创 crc校验原理及Verilog实现
因为在实际实现的过程中涉及到了二进制除法(模2除法)所以这里再简单介绍一下。除法的运算规则:在二进制除法中,所有计算均使用模2运算,也就是逐位的“异或”运算。这里就不介绍异或的运算规则了。二进制除法的基本步骤如下:初始化:将被除数(即需要进行CRC校验的数据帧)和除数(即生成多项式)对齐,准备进行运算。通常被除数会在其末尾添加若干个零比特,以便进行完整的校验计算。移位比对:从被除数的高位开始,与生成多项式的高位对齐。如果当前被除数的最高位为1,则执行异或操作。
2024-11-25 21:13:47
904
1
原创 《Nine Challenges in Artificial Intelligence and Wireless Communications for 6G》文献翻译
近年来,人工智能(AI)领域,尤其是机器学习(ML)方面的发展技术已成功应用于多个领域,这引发了人们普遍的信念,即 AI 将在未来无线通信中发挥重要作用。为了实现这一目标,我们提出了需要 AI/ML 和无线通信交叉学科解决的九大挑战,特别关注第六代(6G)无线网络的应用。具体而言,本文将这九大挑战分类为 AI 计算危机、分布式神经网络和学习,以及 ML 驱动的语义通信。
2024-11-13 14:36:33
384
原创 《deep learning for AI》文献翻译及总结
总之,这篇论文系统性地总结了深度学习的核心概念、技术进展以及在各个领域的应用前景,同时指出了当前存在的技术瓶颈和未来可能的发展方向,特别是在自监督学习、因果推理、符号化推理等方面。
2024-11-05 19:50:00
1212
原创 《scientific discovery in the age og artificial intelligence》文献阅读翻译
本文为chatgpt翻译
2024-11-04 10:58:43
1031
原创 数字IC中Verilog编码注意事项
FPGA中,DFF可以在定义的时候赋初值。但是在ASIC中,reg型变量,不能在定义的时候赋初始值。这样是不可综合的。数学运算,需要准确定义数据位宽,这样综合面积才小。设计者应该是知道运算结果的可能取值范围的。综合工具推断的话,只能按照计算不溢出的最小bit数来优化,可能不是最优结果。
2024-11-02 15:57:24
1150
原创 Nature文章《deep learning》文章翻译
这篇文章是对Nature上《deep learning》文章的翻译。原作者 Yann LeCun, Yoshua Bengio& Geoffrey Hinton。
2024-10-30 21:38:57
1628
原创 Verilog中generate用法
例如,在 for 循环 i=0 时生成的实例会被命名为 adder[0],在 i=1 时生成的实例会被命名为 adder[1],以此类推。在 Verilog 中,generate 语句用于生成重复的硬件结构,适合在需要创建多个相似模块实例或多个相似硬件逻辑的场景。generate 语句在 Verilog 中可以用来生成重复结构,通过配合 for、if、case 等控制语句,可以实现灵活的硬件设计,简化代码,提高可读性。generate 语句也可以和 if 条件结合,以便根据参数或条件生成不同的硬件结构。
2024-10-30 14:13:19
1230
2
转载 VIVADO使用ila抓取的波形转换成Modelsim打开
在线逻辑分析仪的界面操作和VIVADO自带的仿真工具一摸一样,同样正是因为VIVADO自带的仿真工具操作不方便而且运行速度较慢,我们使用了Modelsim仿真软件。但是我们一般使用ila抓取的信号还是在VIVADO中,这就造成了操作的不方便。这篇博客我们主要讲解讲ila抓取的包在Modelsim中打开,这样可以增加工具的灵活性。因为这里只涉及软件的操作,不设计理论或者原理性的操作,这里我们直接给出相应的操作步骤。然后就在Modelsim中打开ila抓取的文件,方便大家分析。2、选择文件放置的路径。
2024-10-26 17:10:46
84
原创 牛客网verilog刷题《进阶挑战》——序列检测VL2——含有无关项的序列检测
对于序列检测题目,常规的解法有两种:状态机法和序列缓存对比法。状态机法的过程类似于题意理解中提到的过程:在初始状态中,先判断第一位是否符合,若符合则进入下一个状态,判断第二位是否符合;若第一位不符合则保持在初始状态,直到第一位匹配。如前两位匹配,则判断第三位是否符合,若第一位匹配,最新输入的数值和目标序列的第二位不匹配,则根据最新一位是否匹配第一位,进入第一位匹配状态或者初始状态。依次类推。
2024-10-26 14:49:05
145
原创 牛客网verilog刷题《进阶挑战》——序列检测VL1——输入序列连续的序列检测
值得注意的是:当前N位数值匹配则N+1位是否匹配,当出现某一位不匹配时,注意不一定从第一位开始重新判断,例如出现前五位数值为01110,第六位数值出现1,不匹配目标序列,但第五,第六位数值符合第一,第二位数值,可以继续判断下一位是否匹配目标序列的第三位,而不需要从第一位开始。然后将数组和目标序列对比,如果数组和目标序列相等,则说明出现目标序列。题目要求检测a的序列,a为单bit输入,每个时刻可能具有不同的值,当连续8个时钟周期中a的值依次为01110001,判断a出现目标序列,把匹配信号match拉高。
2024-10-25 21:55:38
355
原创 Verilog中的function和task用法
介绍了Verilog中function和task的用法,及在使用时的相关注意事项。并附上相关代码解释。
2024-10-21 22:19:53
1010
原创 OFDM同步技术
介绍了OFDM同步技术中的相关原理与知识,并用matlab对sto,cfo对OFDM的影响,及STO估计和CFO估计进行了仿真。仿真代码有详细的注释。
2024-10-19 10:03:31
1493
原创 OFDM易混淆知识
在 OFDM 系统中,时域符号的长度等于Nfft是因为IFFT 直接决定了时域信号的采样数。Nfft点的 IFFT 输入会生成Nfft点的时域输出。因此,无论有效子载波和虚拟子载波如何分布,只要执行Nfft点的 IFFT,生成的时域符号始终包含Nfft个采样点,这就是时域符号的长度。有效符号长度等于 FFT 点数,是因为整个频域符号(包括有效和虚拟子载波)通过 IFFT 生成完整的时域符号。而有效子载波数量只是频域中用于传输数据的部分,两者概念不同。灰色表示数据,占据主要频域资源,用于传输数据信息。
2024-10-17 09:45:28
1416
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人