• 博客(912)
  • 收藏
  • 关注

原创 资料汇总更新|FPGA软件安装包、书籍、源码、技术文档…(2021.01.04更新)

今天给大侠带来资料汇总,这是一篇汇总篇,汇总的内容就是,“FPGA技术江湖”公众号从2020年年初开始更新至今(2021.01.04),所有自动回复能获取的软件安装包、书籍、技术文档等,本次更新添加了之前软件安装包的其他不少版本以及不少学习资料。话不多说,上货。其他自动回复获取不了的电子版资料基本都在论坛,可以自行去论坛下载。论坛网址:www.sxznfpga.com说在前面,看着各位大侠在公众号内的回复私信,一顿猛虎操作,然后啥也没有,汇总之前提醒一下,公...

2021-01-05 22:55:48 7105 6

原创 中秋节快乐

月满中秋,情系技术征途。值此佳节,谨向CSDN全体同仁致以最诚挚的祝福。愿你们在代码与逻辑的世界里,既能攻克技术难关,亦能共赏一轮明月;愿团圆的暖意浸润每一段代码,皎洁的月光照亮每一次创新突破,中秋快乐,万事顺意!

2025-10-05 11:46:07 196

原创 祝大家国庆节快乐

愿你们在技术探索的征途上,如祖国发展般步履铿锵,以FPGA的精密逻辑构建创新基石,用代码的无限可能点亮科技梦想。祝大家国庆安康,阖家幸福,在开源与共创的道路上,续写更多属于中国开发者的硬核篇章!山河万里庆华诞,代码千行筑华章。值此国庆佳节之际,向CSDN FPGA以及其他全体开发者、技术爱好者致以最诚挚的节日祝福!

2025-10-01 16:19:10 199

原创 端午节安康

粽叶包裹逻辑的精巧,赛艇划过时序的浪潮~愿你的代码如龙舟般流畅,每个模块都精准契合时序节拍,RTL设计像糯米般紧密无隙,所有bug都被“粽”筹帷幄的智慧化解!端午佳节,愿FPGA开发之路如艾草般生机盎然,每个项目都能在时序约束里“粽”享成功喜悦。

2025-05-31 07:44:00 442

原创 母亲节快乐

在CSDN奋斗的FPGA开发者们,我们平日里专注于RTL代码编写、IP核调用和板级调试,在数字电路的海洋中不断探索。但别忘了,在我们身后,母亲始终是最坚实的后盾。她虽不懂DDR的时序校准,却懂得在深夜为你留一盏温暖的灯;她虽不了解FPGA的配置流程,却默默配置好了家里的一切,让你心无旁骛投入技术攻坚。值此母亲节,让我们停下敲击键盘的双手,给母亲送上最真挚的祝福。愿所有母亲平安喜乐,在岁月中优雅从容,母亲节快乐!

2025-05-11 14:39:07 522

原创 五一国际劳动节快乐

值此五一国际劳动节来临之际,向每一位辛勤耕耘、默默奉献的劳动者致以最崇高的敬意与最诚挚的祝福!无论是奋战在生产一线的工人,还是守护城市运转的服务者;无论是教书育人的教育工作者,还是探索创新的科研人员,你们用汗水浇灌梦想,以奋斗书写华章。衷心祝愿大家在节日里卸下疲惫,享受悠闲时光,收获身心的愉悦与放松。愿未来的日子里,所有努力皆有回响,所有付出皆得硕果,劳动节快乐!

2025-05-01 08:37:14 384

原创 清明听风雨,最忆是故人!

气清景明,和风而歌。仲暮之交,踏青怀古。

2025-04-04 03:51:13 299

原创 元宵佳节,代码人生中的温暖团聚

就像元宵佳节,将馅料精心包裹,制作出美味的元宵,我们也在不断雕琢自己的代码,赋予它们解决问题的力量。那些在深夜里与代码相伴的时光,是我们为梦想拼搏的见证,而此刻,在这元宵佳节,让我们暂时放下忙碌,享受这片刻的放松与欢聚。无论是代码难题的攻克,还是新技术的探索,大家的每一次互动都如同元宵夜的灯火,照亮彼此前行的道路。同时,也愿大家在新的一年里,代码无 bug,技术更上一层楼!元宵节至,当代码的逻辑与团圆的温馨碰撞,在这个充满欢乐与祝福的日子里,向每一位热爱技术、投身代码世界的你,致以最诚挚的节日问候!

2025-02-12 10:00:45 376

原创 金蛇迎春,蛇年大吉

在这辞旧迎新的美好时刻,我们迎来了充满智慧与灵动的蛇年。蛇象征着智慧、灵活与蜕变,愿每一位CSDN的朋友在新的一年里,如同蛇般敏锐洞察技术趋势,灵活应对挑战,不断蜕变成长。愿您的代码如蛇行般流畅,项目如蛇蜕般焕然一新,事业如蛇般稳步前行。在这充满机遇与创新的蛇年,愿您收获满满的知识与成就,技术更上一层楼,生活幸福美满。祝大家蛇年大吉,编程无BUG,事业步步高!

2025-01-28 19:17:20 396

原创 FPGA开发与设计实战

FPGA开发与设计实战。

2025-01-08 09:31:07 370

原创 源码系列:基于FPGA实时时钟的设计(附源工程)

最初我们通过一个8位的控制指令来选择读写,如果控制指令是单字节模式,连续的8个脉冲上升沿写入,下降沿读出数据,一次只能读取一个字节,如果是突发模式通过连续的脉冲一次性的写完7个字节的时间寄存器也可以一次性的读完8--328位的ram数据。下图是突发读的时序图,此次设计是一个一个的写寄存器,必须写满7个时钟寄存器,然后突发的读,突发读的时候拉高CE,然后不停的读接收数据。各个寄存器的的设置,和每位的表示如下图,从图中我们了解到读写时控制字是多少以及写入寄存器的地址,和写入的8位的时间表示。

2025-01-06 12:19:15 409

原创 源码系列:基于FPGA的任意波形发生器(DDS)设计(附源工程)

我们用位宽为N位的累加器,假设FWORD为1,要产生一个完整波形的周期则为20ns*2^N,则产生波形的频率=系统时钟/2^N,即Fout = Fclk/2^N,如果FWORD为B,每次步进的间隔提高了B倍,所以计满一个波形周期的时间就缩小了B倍,即频率就提高了B倍。上段所述我们可具体理解为:改变地址的初值(PWORD)就可以改变初始的相位,由于我们设计中,ROM的数据为256,所以PWORD 的值在0~255之间,PWORD= 256*(初始相位/360度)。根据上图可知,我们的设计正确。

2025-01-06 12:17:30 597

原创 源码系列:基于FPGA的 IIC 设计(附源工程)

我们的控制字为 1010_0000,其中 1010 为 EEPROM 的型号标识,为一组固定的序列,紧接着 A2,A1,A0 就是我们的片选信号,最后一位为读写控制位,低电平代表写,高电平代表读,我们这里首先需要对 EEPROM 写入地址位,所以我们最后一位为 0。本设计用两个按键控制 EEPROM 读写,当写按键按下时,向 EEPROM 某一固定地址写入一个字节数据,当读按键按下时,将该地址数据读出,并显示到数码管,LED 灯是一个标志信号,LED 亮说明数据写入完毕。

2025-01-06 12:12:21 375

原创 源码系列:基于FPGA的数模转换(DA)设计

如图1所示:当LOAD为高电平时,数据在CLK的下降沿被锁存至DATA,只要所有数据被锁存,则将LOAD拉低,将数据从串行输入寄存器传送到所选择的DAC。本设计驱动TLC5620将输入的数字量转换为实际的模拟量(电压),通过四个按键控制四路输出的电压变化,每按一次,电压值也随之上升,同时在数码管上也依次显示相应的值(依次为A1,A0,RNG,输入DATA)。由于仿真时间原因,这里只测试按键1按下时的数码管显示,显示为00100,表示通道A,RNG为1,输入数字量为00。RNG:控制DAC输出范围。

2025-01-06 12:06:29 649

原创 源码系列:基于FPGA的数字电压表(AD)设计

分析时序图可知:当片选信号(/CS)拉低时,ADC前一次的转换数据(A)的最高位A7立即出现在数据线DATA OUT上,之后的数据在时钟I/O CLOCK的下降沿改变,可在I/O CLOCK的上升沿读取数据。比较常见的参考标准为最大的可转换信号大小,而输出的数字量则表示输入信号相对于参考信号的大小。下图为TLC549的访问时序,从图中可以看出,TLC549的使用只需对外接输入输出时钟(I/O CLK)和芯片选择(/CS)、输入的模拟信号(ANALOG IN)的控制。Vref为参考电压值,此处为2.5V。

2025-01-06 11:58:53 361

原创 喜迎元旦,2025新年快乐

祝大家元旦快乐!

2025-01-01 01:36:10 341

原创 源码系列:基于FPGA的自动售货机设计(附源工程)

今天给大侠带来基于FPGA的自动售货机设计,附源码,获取源码,请在“FPGA技术江湖”公众号内回复“ 自动售货机设计源码”,可获取源码文件。我们从仿真中可以看到当我们的钱数投够的时候,就给一个买到的标志位,如果投的超过商品的价格,那么我们就给一个买的标志位,然后找回我们投的多的钱。一听饮料需要2.5美元,规定只能投入一美元,0.5美元的硬币。添加图片注释,不超过 140 字(可选)

2024-12-30 11:31:03 418

原创 源码系列:基于FPGA的串口UART设计(附源工程)

串口通信的两种最基本的方式为:同步串行通信方式和异步串行通信方式。信息位之后则是一个可选的奇偶校验位,它可以是无校验(NONE)、奇校验(ODD)、偶校验(EVEN)中的任意一个,无校验时,信息位之后就是停止位。通过分析上述的数据格式,在本设计中,将波特率设置为9600,起始位设置为1比特,信息位设置为8比特,奇偶校验位设置为0比特,停止位设置为2比特,空闲位设置为1比特。在起始位之后,按照低位首发原则,顺序发送信息位的最低位到最高位,信息位的宽度可以是4、5、6、7、8中的一个;

2024-12-30 11:26:55 355

原创 源码系列:基于FPGA的红外线遥控系统设计(附源工程)

在设计中分频模块提供所需要的38KHZ的时钟,当按键按下时发送我们的发送模块发送一个给定的数值,我用户码为8'b0,第二段用户码为8'hff,然后发送给定的数据码,和数据反码。上电后我们的设计会发一次我们给定的数据码,然后在接受模块会接受到其发送的数据并在数码管上显示出来,之后我们可以用我们我的遥控键盘来发送数据,接收模块接收显示出来,通过验证我们接收和发送的正确。接受的时,接收到的时序和发送的时序恰恰相反,如发送时先发送9ms的高,4.5ms的低,接收为接收9ms的低电平,4.5ms低电平。

2024-12-30 11:17:09 451

原创 源码系列:基于FPGA的计算器设计(附源工程)

在日常的生活和学习中,我们经常能用到计算器,计算器的设计可以让我们加深对设计思想以及设计方法的理解,训练实操能力,紧密的联系各模块, 对我们的学习有很大的帮助和提升。下面咱们就来一起看一下。从仿真图中可以看出,在仿真中我们设置的是先按下5,再10,之后2,然后按下等于15.通过观察仿真正确,之后由于设计中我们10是表示加法,那么5 + 2 = 7 :结果显示正确。本次的设计主要通过矩阵键盘来实现按键的加减乘除运算,通过按下有效键值来当被加数或者被除数等等,按下10 -- 13等数字来表示对应的运算符。

2024-12-30 11:08:30 356

原创 基于FPGA的CAN总线控制器的设计(附代码)

CAN 总线卓越的特性、极高的可靠性和独特的设计,特别适合工业过程中监控设备的互连,因此,越来越受到工业界的重视,并被公认为是最有前途的现场总线之一。它在报文开始发送,总线电平从隐性值跳变到显性值时同步于 CAN 总线上的位数据流(硬同步),并在该报文的传送过程中,每遇到一次从隐性值到显性值的跳变沿就进行一次重同步(软同步)。今天给大侠带来基于FPGA的CAN总线控制器的设计,包括CAN 总线协议解析以及 CAN 通信控制器程序基本框架、CAN 通信控制器的具体实现、程序的仿真与测试以及总结。

2024-12-25 23:31:00 775

原创 基于FPGA的FIR数字滤波器设计

通过对目前数字滤波器的几种实现方法的简单分析,本文认为基于FPGA的数字滤波器具有许多优点,本文考虑到信息技术的发展对于数字滤波器的要求越来越高,而目前FIR数字滤波器的性能还不完善,于是选择了基于FPGA的数字滤波器作为主要研究内容,通常滤波器在进行数据处理时用到了卷积运算,在设计中的解决这些乘法运算的思路是将它们转换成加减法,这是目前解决乘法运算的主流思想。在尾数的舍入中采用了基于预测和选择的舍入方法,进一步提高了运算的速度,优化了乘法器的性能。因此,指标的形式一半在频域中给出相位响应和幅度。

2024-12-25 23:23:34 378

原创 基于 FPGA 的任意波形发生器+低通滤波器系统设计

本次设计包括基于FPGA的任意波形发生器设计实现和基于FPGA的低通滤波器设计实现。波形发生器是一种常见的信号源,能够产生多种标准信号和用户定义信号,并保证较高精度和较高稳定性,广泛地应用于电子电路、自动控制系统和数字实验等,诸如电话、电视、收音机、高校通信系统实验等领域都需要用到波形发生器。本次设计基于Verilog HDL语言使用Artix-7系列芯片在EGO1开发板上实现一个简易的任意波形发生器。

2024-12-25 23:20:44 489

原创 Vivado 使用Simulink设计FIR滤波器

FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。利用FIR滤波器系数的对称性,采用折叠方式,可节省一半的DSP48用量,考虑到7系的DSP48普遍可以跑到200-300MHz,如信号采样率低的话,可以采用多路复用的方式大量节省DSP使用量,若只有一路信号也可以采用提高工作时钟的方式减少DSP使用量。

2024-12-25 23:19:29 181

原创 MicroBlaze串口设计(附源工程)

本篇通过原理图设计,学习MicroBlaze基本结构,通过Tcl脚本创建简单的MicroBlaze工程,实现MicroBlaze调用UART模块,完成串口打印功能,掌握在模块化设计中,MicroBlaze最小系统的组成,学会导出、建立以及运行基于SDK的工程。3) 将新的工程项目命名为‘lab6’,选择工程保存路径,勾选‘Create project subdirectory’,创建一个新的工程文件夹,点击Next继续;输入完毕按回车,运行Tcl,等待Tcl进行创建、综合、实现,最后生成比特流文件。

2024-12-25 23:18:20 132

原创 FPGA 最实用的Modelsim使用教程

今天给大侠带来最实用的Modelsim初级使用教程,话不多说,上货。

2024-12-25 23:16:11 192

原创 FPGA Signal tap 逻辑分析仪使用教程

后续会陆续更新 Xilinx 的 Vivado、ISE 及相关操作软件的开发的相关内容,学习FPGA设计方法及设计思想的同时,实操结合各类操作软件,会让你在技术学习道路上无比的顺畅,告别技术学习小BUG卡破脑壳,告别目前忽悠性的培训诱导,真正的去学习去实战应用。本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会。发送之后,逻辑分析仪中出现了波形。

2024-12-25 23:13:52 118

原创 FPGA Vivado 逻辑分析仪使用教程

不同之处在于,“Debug Cores”选项卡是一个更加以ILA IP核为中心的视图,所有已标记为“Mark_Debug”的信号并且已经被分配到ILA探针的信号都会被显示在各个ILA IP核的视图树下,已标记为“Mark_Debug”的信号但是还没有被分配到ILA探针的信号被显示在“Unassigned Debug Nets”下,当然也可以在其中查看和设置ILA IP核的各种属性和参数。这样,在顶层的设计迭代过程中,OOC模块就不必跟随顶层模块,而进行一次次的会产生相同结果的多余的综合了。

2024-12-25 23:12:50 450

原创 基于 FPGA Vivado 的数字钟设计(附源工程)

获取本篇相关源工程代码,可在公众号内回复“数字钟设计源工程”,本篇涉及到两个操作软件,分别是“Agent软件”和“WaveForms软件”,获取软件安装包,可在公众号内对应回复“WaveForms软件安装包”,“Agent软件安装包”。12) 同样的,将seg7decimal IP的clr、a_to_g、an、dp这4个引脚,以及clock IP的clk_in1引脚,以及任意一个74ls90 IP的r9_1引脚make external。5) 按Enter键,或者鼠标双击该IP,可以完成添加。

2024-12-25 23:11:14 255

原创 源码系列:基于FPGA的中值滤波器设计(附源码)

本设计采用3*3的滑动窗口,先将3*3窗口中每一列数据进行从大到小的排序,列排序后,再对窗口中每一行的数据从大到小进行排序,之后再对窗口中对角线上的数据进行排序,得到中间值,即为9个数的中值。中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声(脉冲噪声)的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。这种滤波算法,极大减少了比较的次数,提高了图像处理的速度,在FPGA上,不仅易于实现,而且占用了更少的片上资源。

2024-12-25 23:09:46 284

原创 源码系列:基于FPGA的音乐蜂鸣器设计(附源工程)

rom输出的数据rom_data输入到decode解码模块,将解码后的数据music_data输入到music_gen模块,通过计数器,如果计数器小于music_data的值,则beep保持不变,否则,beep取反,并且计数器清1,从而产生特定的方波频率。当rom输出rom_data为8’h22时,代表输出中音2,解码后结果music_data为851,输出的beep频率为563Hz,与实际中音2的音节频率表的值相差24Hz,存在一定的误差,但是不影响乐曲的播放。B暂时为七个值1、2、3、4、5、6、7。

2024-12-25 23:06:43 153

转载 IC技术圈期刊 2024年第10期

在集成电路(IC)制造与测试过程中,CP(Chip Probing,晶圆探针测试)和FT(Final Test,最终测试)是两个重要的环节,它们承担了不同的任务,使用不同的设备和方法,但都是为了保证产品的质量与可靠性。分段长tree让局部sink balance的更好,有利于时序收敛,但传统的分段长tree需要单独写一个sdc去做sub tree再换回原始sdc去长tree,流程繁琐,我整理了一个简单的流程,不需要额外的sdc。上面图里面是特斯拉的一个自动驾驶AI芯片的架构图,下面的图是英伟达的。

2024-12-09 20:59:47 163

原创 基于 FPGA 的一维卷积神经网络(1D-CNN)算法加速

例如,对于一个的卷积核,FPGA 可以同时对多个的图像区域进行卷积计算,而不是像 CPU 那样顺序处理。常见的池化方式有最大池化和平均池化,最大池化选择每个池化区域内的最大值作为输出,平均池化则计算池化区域内的平均值。通过 FPGA 加速的 2D - CNN 可以快速处理摄像头采集的图像,识别出人脸的特征,用于门禁系统、安防监控等场景。通过将上述卷积层和池化层等模块按照网络结构进行组合和连接,就可以构建完整的 1D-CNN 加速器,并在 FPGA 上实现对一维序列数据的高效处理。

2024-12-03 21:54:47 423 4

原创 源码系列:基于FPGA的红外线遥控系统设计(附源工程)

在设计中分频模块提供所需要的38KHZ的时钟,当按键按下时发送我们的发送模块发送一个给定的数值,我用户码为8'b0,第二段用户码为8'hff,然后发送给定的数据码,和数据反码。上电后我们的设计会发一次我们给定的数据码,然后在接受模块会接受到其发送的数据并在数码管上显示出来,之后我们可以用我们我的遥控键盘来发送数据,接收模块接收显示出来,通过验证我们接收和发送的正确。接受的时,接收到的时序和发送的时序恰恰相反,如发送时先发送9ms的高,4.5ms的低,接收为接收9ms的低电平,4.5ms低电平。

2024-12-03 20:54:10 217

原创 基于FPGA的“俄罗斯方块”设计(附代码)

例如在640X480的显示模式下,从显示器的左上角开始往右扫描,直到640个像素扫完,再回到最左边,开始第二行的扫描,如此往复,到第480行扫完时即完成一帧图像的显示。同时,根据计数器,NEW_BLOCK的值刷新为A_1,B_1,…或者等待输入信号(up,down,left,right)时,转到S_down(按键为down)或者S_move(up,left,right)状态。为方便起见,将方块定位A-G,旋转编号为1-4,将方块编码成A_1-G_2的19种,如下图:(图中,深色方块是该种方块的固定点)

2024-12-03 20:50:55 748

转载 科普:GPU和FPGA,有何异同

在人工智能的背景下,这为 FPGA 提供了巨大的优势,既可以支持大规模并行工作负载,又可以提高特定算法的性能。另外,请记住,虽然 FPGA 在特定任务上效率很高,但它们可能无法与现代 GPU 的原始计算能力和性能相媲美,尤其是对于图形密集型应用程序而言。多年来,基于 GPU 的挖矿设备占据了主导地位,然而,挖矿难度的变化、日益激烈的竞争和不断上升的能源成本降低了利润率,因此 GPU 挖矿的受欢迎程度已不如从前。GPU 和 FPGA 之间的主要区别在于,GPU 最初是为渲染视频和图形而设计的。

2024-12-03 20:48:47 309

原创 如何看懂别人写的verilog 代码?

现在要用到师兄写的一段verilog代码,师兄说代码没验证过,我得先验证,结果发现好多错误,就想试图看懂代码,结果感觉错综复杂,不知道从哪儿下手?可以通过注释、信号名等理解逻辑的意图。1. 先查看代码的文档说明(如果有的话),了解代码的功能、输入输出端口、设计思路等总体情况。1. 模块化设计:将复杂的功能分解为多个模块,每个模块实现特定的功能,提高代码的可维护性。1. 使用仿真工具对代码进行仿真,观察输入输出信号的变化,验证代码的功能。1. 良好的命名规范:使用有意义的信号名、模块名,提高代码的可读性。

2024-12-03 20:45:48 514

原创 Python和通信工程有关吗?

Python 拥有丰富的科学计算和数值分析库,如 NumPy、SciPy 和 Matplotlib 等,可以方便地进行信号处理、频谱分析、误码率计算等操作。• 对于时间序列数据,如网络流量随时间的变化,可以使用 Python 的时间序列分析库,如 statsmodels 和 prophet,进行预测和趋势分析。• 例如,通过对通信信号的特征提取和分类,可以实现信号的自动识别和分类。• 利用 Python 的绘图功能,可以直观地展示信号的时域和频域特性,以及系统的性能指标,如误码率曲线、信噪比曲线等。

2024-12-03 20:45:15 137

原创 FPGA新手,准备FPGA大赛AMD基础赛道如何选型?

根据自己的预算选择合适的开发板,不要过于追求高端的开发板而超出自己的预算,但也不要为了节省成本而选择性能过低或功能不全的开发板。一些常见的适合新手的 AMD FPGA 开发板有 Zynq 系列的开发板,如基于 XC7Z010、XC7Z020 等芯片的开发板,具有较高的性价比和丰富的功能,适合初学者进行学习和实践。不过,最终的选型还需要根据你的具体需求和预算来决定。• 开发软件:AMD 有自己的开发工具 Vivado,确保你选择的开发板能够与 Vivado 软件兼容,并且该软件的版本能够支持开发板上的芯片。

2024-12-03 20:44:40 335

原创 关于单片机项目的疑问

目前大一,自学了51,不能说都会了 ,但还是不想只停留于买的现成的开发版,想自己做一些简单的项目,应该怎么入手呢?• 学习使用 PCB 设计软件,如 KiCad、PADS 等设计简单的 PCB 板。• 学习常见的电子元件,如电阻、电容、电感、二极管、三极管等的基本特性和用途。• 学习使用 C 语言或汇编语言进行单片机编程,掌握常见的编程技巧和算法。• 了解电路符号和连线的规范,能够正确地绘制出简单的电路原理图。• 掌握如何识别元件的参数和规格,以及如何选择合适的元件。

2024-12-03 20:44:07 144

空空如也

空空如也

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

TA关注的人

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