自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 牛客网刷题进阶挑战VL25——VL49

【代码】牛客网刷题进阶挑战VL25——VL49。

2025-07-24 19:40:53 321

原创 MUX同步器

这里对使能信号进行打拍,符合题目要求。MUX同步就是对使能信号进行打拍。为什么要打两拍呢,是为了消除亚稳态。为什么在A时钟域还要打一拍呢,这个不是必须的,可以不打这一拍。根据题目描述,数据data_in的变化频率较低,且相邻两个数据变化的时间间隔至少为10个B时钟周期。这一条件非常关键,主要用于确保在进行数据传输时,不会因为数据变化频繁而导致时序问题。

2025-07-24 19:40:08 148

原创 格雷码与二进制转换

这段代码实际上是一个计数器,每当count增加1时,格雷码输出会更新。但是,由于gray_out是由count[4:1]生成的,而count的最低有效位(count[0])并没有参与gray_out的计算。因此,count的变化对于gray_out的影响不会是每次递增都能立刻反映出来,而是需要两个周期(即当count增加到下一个值时)才会反映一次。在每个时钟周期,count会增加1,但是由于gray_out只依赖于count[4:1],而count[0]不会直接影响到它。因此,count每增加1,

2025-07-24 19:38:11 338

原创 IC秋招刷题记录

建立时间余量=数据应该到达的时间-数据实际到达的时间保持时间余量=数据路径实际到达时间 - 最早允许的数据保持时间wire线网型未赋值为zreg寄存器类型未赋值为x14’bx0_1010展开为14’bxx_xxxx_xxx0_1010所以输出结果为xxXa答案:BCD无符号数在verilog中用补码计算。

2025-07-18 10:56:39 312

原创 时序分析未完待续

指的就是要想寄存器能够如期地工作,在有效的时钟边沿信号到来之前,D端口上的数据至少需要持续保持稳定不变的时间,也就是寄存器能够正常工作所允许的最小 tsut_{su}tsu。注意,建立时间要求也可能为零甚至负数,它跟寄存器的类型和具体实现结构有关。建立时间余量 = $t_{su} $- 建立时间要求。如果建立时间余量大于或等于0,则表示寄存器能够正常工作;否则,表示寄存器无法实现预期功能。

2025-06-26 14:50:56 854

原创 ping-pong操作

什么是pipeline?上一个阶段处理完了,就把数据交给下一个阶段;每个阶段都像一个“工人”或“传送带”;一个阶段接着一个阶段地处理数据;这个“让我先喘口气”的机制,就是。嘿,别再送了,我处理不过来了!pipeline反压结构。

2025-06-26 14:50:07 335

原创 芯片power

芯片功耗 = 芯片运行时所消耗的电能功耗越大,发热越高,电池寿命越短,也影响芯片性能和可靠性。动态功耗芯片在“运转”“切换”“工作”时产生的功耗静态功耗芯片“啥也不干”时也在偷偷流失的功耗。

2025-06-26 10:51:36 604

原创 DFT(Design for Testability可测性设计)

在芯片设计时,以便后期能有效测试芯片有没有坏。芯片一旦制造出来,你不能打开看内部电路对不对,只能从外部“输入→输出”测试。但芯片内部很复杂,很多逻辑你根本测不到,所以我们提前设计“可测性结构”。

2025-06-26 10:50:37 616

原创 sha-1

SHA-1(安全哈希算法1) 是一种常见的加密哈希函数,可以把任意长度的输入数据转换成固定长度的输出(160 位 = 20 字节),这个输出叫做哈希值或摘要(digest)。它常用于:但由于它存在安全漏洞(已被证明可被攻击),现代加密系统已经推荐使用 SHA-256 或 SHA-3 替代。本程序模拟 SHA-1 哈希算法的主要计算过程,对长度不超过 55 字节的输入字符串进行加密计算,并输出结果到屏幕和文件。SHA-1 的核心目标SHA-1 的运算流程(5个阶段)目的:让消息长度变成 512 的倍数,并记录

2025-06-26 10:49:47 689

转载 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 84

原创 verilog有符号数处理摘要

这个时候进入的二进制以补码的形式表示,出来的二进制也以补码的形式表示,在查看波形时,也以补码的形式查看。意思是说,当我们进行有符号数进行运算的时候,我们不要手动转换符号位了,Verilog会自动识别最高位为符号位,同时在运算过程中会自动进行符号位的扩展。这两个数进行有符号数的乘法运算,得到的自然也是有符号数的积,因此这里的输出也定义为有符号数。signed()把输入变成有符号数,同时定义一个有符号的中间结果,这样子就可以使用有符号的乘法器进行运算了。例子2中,输入的是两个无符号数,输出也定义为无符号数。

2025-03-17 10:11:50 967

原创 数字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 282

原创 跨时钟域信号处理及verilog实现

亚稳态:触发器无法在某个规定时间段内达到一个可确认的状态。亚稳态会带来功能的错误亚稳态时既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。触发器输岀一些中间级电平,或者可能处于振荡状态。这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。

2025-02-25 09:36:09 1014

原创 基于脚本的modelsim自动化仿真笔记

(3)前仿真(功能仿真),一般只需要设计文件跟测试文件,因此直接使用独立版本的modelsim就可以了。如果是后仿真或者带有各种IP核的仿真,则可以这样做:用QII/ISE/Vivado调用独立的modelsim进行仿真。上面介绍的知识中,既介绍了普通模块的仿真脚本,也介绍了有IP核设计的脚本仿真,下面给出一个通用的脚本文件,当然这个文件只适合用于前仿真(即功能仿真),至于后仿真后面介绍。最后在仿真代码的时候,可以使用了独立的modelsim、altera自带的modelsim、ISE自带的Isim。

2025-02-11 09:24:03 435

原创 DDR原理详解

存储器主要分为只读存储器 ROM 和随机存取存储器 RAM两大类。ROM:只读存储器 ROM 所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,ROM所存数据稳定,断电后所存数据也不会改变。RAM:随机存取存储器RAM 是与 CPU 直接交换数据的内部存储器,它可以随时读写,速度快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介,当电源关闭时 RAM 不能保留数据。

2025-02-10 21:40:01 609

原创 cmos晶体管

Vdd的80%及以上,定义为数字电路的“1”Vdd的20%及以下,定义为数字电路的“0”不同的器件,高低电平的百分比可能不同transition(信号爬升时间):同一个信号从0到1或者从1到0的时间delay(信号传输延时):一个cell的输入变化(50%VDD)到输出变化(50%VDD)的时间。

2025-02-10 15:23:04 1141

原创 Verilog常见错误

在always block开始赋default值,这样即使if else / case 不全,也不会综合成latch。可能导致RTL SIM挂死,仿真时间不往前推进。后果:RTL仿真和GATE仿真结果不一致。2、if else/case条件不全。always组合逻辑常见错误。后果:综合出latch。

2025-02-10 15:21:00 470

原创 基本电路原理

当A=1时,上面PMOS为OFF,下面NMOS为ON,Y接到地,为0当A=0时,上面PMOS为ON,下面NMOS为OFF,Y接到VDD,为1。

2025-02-10 15:20:08 416

原创 TCL语言

例如:set aaa yyx\ space #aaa=“yyx space"“”的用法:“”内的字符,仅对$,[],\替换作识别,把其他的关键值当成普通字符。使用”\“,告诉tcl比解释器:“\”后面的一个字符是普通字符,没有特殊含义。现在,y=“10+100”,工具会认为y是一个字符串,“110”使用“$"作用于一个已经定义的变量之前,表示替换为该变量的值。list 是一个包含多个元素的结构,类似C中的数组。TCL中的数组需要定义:数组名,数组元素名。{}的用法:{}内的所有字符全是普通字符。

2025-02-10 15:16:49 347

原创 coding style

FPGA中,DFF可以在定义的时候赋初值。但是在ASIC中,reg型变量,不能在定义的时候赋初始值。这样是不可综合的。数学运算,需要准确定义数据位宽,这样综合面积才小。设计者应该是知道运算结果的可能取值范围的。综合工具推断的话,只能按照计算不溢出的最小bit数来优化,可能不是最优结果。

2025-02-10 15:16:10 451

原创 在彼此的根系里呼吸

那些被泪水泡软的土壤里,终将生长出比誓言更坚韧的东西:它可能是病榻前晾凉又温热的半碗白粥,可能是失业寒冬里共裹的一条旧毛毯,更可能是某个寻常午后,忽然惊觉对方眼角的皱纹里,竟藏着自己青春的模样。这里没有永恒的征服者,只有两个带着旧地图的旅人,在某个星垂平野的夜晚,忽然懂得将“你错我对”的界碑,熔铸成指向明日的路标。她攀岩时像野生的藤,他观星时若入定的僧。它像一本未写完的诗集,每个平淡的逗点都在等待被赋予深意——当银丝爬满鬓角时,他们终于读懂:所谓白头偕老,不过是无数个“此刻”的晨露,汇聚成了永恒的深潭。

2025-01-30 21:31:18 260

原创 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 1680 3

原创 《Semantic communications - Principles and challenges》语义通信文献阅读与分析总结

语义通信的概念语义通信是一种超越传统香农通信范式的全新通信模式,它关注的是信息意义的传递,而不仅仅是数据本身的准确传输。传统通信强调比特级别的准确性,而语义通信更强调信息对接收方执行特定任务的有效性。这种模式被认为是第六代(6G)无线网络的核心技术之一,能够支持包括智能交通、智能监控、视频会议、增强现实(AR)和虚拟现实(VR)在内的多种智能应用。在语义通信中,发送方在传输前对信息进行语义编码,只提取出对任务执行最相关的特征,从而减少不必要的信息传输。

2025-01-09 15:42:38 1229

原创 verilog中+:和-:用法

在Verilog中,+: 和 -: 是用于部分选择的操作符,它们通常用来选择一个向量中的一部分,或者进行位的切片操作。用于从指定起始位向右选取一定数量的位。用于从指定起始位向左选取一定数量的位。

2024-12-11 09:02:56 1189

原创 同步fifo

FIFO即是一种先进先出的数据缓存器。同步FIFO指的是数据的写入和读出的时钟是同一个时钟。异步 FIFO 有两个时钟信号,读和写逻辑用的各自的读写时钟。FIFO没有外部读写地址线,使用起来简单。但是缺点就是只能先入先出,数据地址由内部读写指针自动加1完成。不能像普通存储器那样可以由地址线决定读取或者写入某个指定的地址。

2024-12-05 16:31:38 605

原创 crc校验原理及Verilog实现

因为在实际实现的过程中涉及到了二进制除法(模2除法)所以这里再简单介绍一下。除法的运算规则:在二进制除法中,所有计算均使用模2运算,也就是逐位的“异或”运算。这里就不介绍异或的运算规则了。二进制除法的基本步骤如下:初始化:将被除数(即需要进行CRC校验的数据帧)和除数(即生成多项式)对齐,准备进行运算。通常被除数会在其末尾添加若干个零比特,以便进行完整的校验计算。移位比对:从被除数的高位开始,与生成多项式的高位对齐。如果当前被除数的最高位为1,则执行异或操作。

2024-11-25 21:13:47 1104 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 437

原创 《deep learning for AI》文献翻译及总结

总之,这篇论文系统性地总结了深度学习的核心概念、技术进展以及在各个领域的应用前景,同时指出了当前存在的技术瓶颈和未来可能的发展方向,特别是在自监督学习、因果推理、符号化推理等方面。

2024-11-05 19:50:00 1288

原创 《scientific discovery in the age og artificial intelligence》文献阅读翻译

本文为chatgpt翻译

2024-11-04 10:58:43 1094

原创 数字IC中Verilog编码注意事项

FPGA中,DFF可以在定义的时候赋初值。但是在ASIC中,reg型变量,不能在定义的时候赋初始值。这样是不可综合的。数学运算,需要准确定义数据位宽,这样综合面积才小。设计者应该是知道运算结果的可能取值范围的。综合工具推断的话,只能按照计算不溢出的最小bit数来优化,可能不是最优结果。

2024-11-02 15:57:24 1199

原创 流水线设计

介绍总结了流水线设计的思想及优缺点。流水线是什么?为什么要用流水线?用了有什么缺点和优点?

2024-11-01 22:02:15 565

原创 modelsim报错总结

这篇文章用来总结学习过程及设计过程中遇到的modelsim仿真错误及解决方案。先占个位置吧,随着学习进展逐步更新。

2024-10-31 15:04:44 623

原创 Modelsim——do脚本、bat命令

总结了Modelsim相关脚本指令。以及如何操作让modelsim自己完成仿真操作。

2024-10-31 14:09:16 724

原创 Nature文章《deep learning》文章翻译

这篇文章是对Nature上《deep learning》文章的翻译。原作者 Yann LeCun, Yoshua Bengio& Geoffrey Hinton。

2024-10-30 21:38:57 2623

原创 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 1429 2

转载 VIVADO使用ila抓取的波形转换成Modelsim打开

在线逻辑分析仪的界面操作和VIVADO自带的仿真工具一摸一样,同样正是因为VIVADO自带的仿真工具操作不方便而且运行速度较慢,我们使用了Modelsim仿真软件。但是我们一般使用ila抓取的信号还是在VIVADO中,这就造成了操作的不方便。这篇博客我们主要讲解讲ila抓取的包在Modelsim中打开,这样可以增加工具的灵活性。因为这里只涉及软件的操作,不设计理论或者原理性的操作,这里我们直接给出相应的操作步骤。然后就在Modelsim中打开ila抓取的文件,方便大家分析。2、选择文件放置的路径。

2024-10-26 17:10:46 137

原创 牛客网verilog刷题《进阶挑战》——序列检测VL2——含有无关项的序列检测

对于序列检测题目,常规的解法有两种:状态机法和序列缓存对比法。状态机法的过程类似于题意理解中提到的过程:在初始状态中,先判断第一位是否符合,若符合则进入下一个状态,判断第二位是否符合;若第一位不符合则保持在初始状态,直到第一位匹配。如前两位匹配,则判断第三位是否符合,若第一位匹配,最新输入的数值和目标序列的第二位不匹配,则根据最新一位是否匹配第一位,进入第一位匹配状态或者初始状态。依次类推。

2024-10-26 14:49:05 178

原创 牛客网verilog刷题《进阶挑战》——序列检测VL1——输入序列连续的序列检测

值得注意的是:当前N位数值匹配则N+1位是否匹配,当出现某一位不匹配时,注意不一定从第一位开始重新判断,例如出现前五位数值为01110,第六位数值出现1,不匹配目标序列,但第五,第六位数值符合第一,第二位数值,可以继续判断下一位是否匹配目标序列的第三位,而不需要从第一位开始。然后将数组和目标序列对比,如果数组和目标序列相等,则说明出现目标序列。题目要求检测a的序列,a为单bit输入,每个时刻可能具有不同的值,当连续8个时钟周期中a的值依次为01110001,判断a出现目标序列,把匹配信号match拉高。

2024-10-25 21:55:38 393

原创 微机原理概要

简要介绍学习数字IC设计和FPGA时需要掌握的相关微机原理知识。后续随着学习的深入再逐步扩充吧。

2024-10-25 17:24:15 648

原创 Verilog中的function和task用法

介绍了Verilog中function和task的用法,及在使用时的相关注意事项。并附上相关代码解释。

2024-10-21 22:19:53 1324

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除