- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 Verilog中的任务Task和函数Function
task和function说明语句分别用来定义任务和函数。利用任务和函数可以把一个很大的程序模块分解成许多较小的任务和函数便于理解和调试。输入、输出和总线信号的值可以传入、传出任务和函数。任务和函数往往还是大的程序模块中在不同地点多次用到的相同的程序段。学会使用task和function语句可以简化程序的结构,使程序明白易懂,是编写较大型模块的基本功。task和function说明语句的不同点任务和函数有些不同,主要的不同有以下四点:1) 函数只能与主模块共用同一个仿真时间单位,而任
2022-04-04 00:29:45 3165
原创 Verilog 常用的主要编译指令(`timescale等)
以反引号 ` 开始的某些标识符是 Verilog 系统编译指令(如`timescale1ns/1ps)。编译指令为 Verilog 代码的撰写、编译、调试等提供了极大的便利。下面介绍下 4 种使用频率较高的编译指令。A:`define, `undefB:`ifdef, `ifndef, `elsif, `else, `endifC:`includeD:`timescale==============================分割线=======================.
2022-03-13 16:19:10 803
原创 触发器(SR锁存器、SR触发器、JK触发器、D触发器、T触发器)
在各种复杂的数字电路中,不但需要对二值信号进行算术运算和逻辑运算,还经常需要将这些信号和运算结果保存起来。为此,需要使用具有记忆功能的基本逻辑单元。能够存储1位二值信号的基本单元电路统称为触发器(Flip-Flop)。为了实现记忆1位二值信号的功能,触发器必须具备以下两个基本特点:A:具有两个能自行保持的稳定状态,用来表示逻辑状态的0和1,或二进制数的0和1.B:在触发信号的操作下,根据不同的输入信号可以置成0或1状态。由于采用的电路结构形式不...
2022-03-13 15:17:15 6865
原创 Verilog语句是否可综合性总结
A:可综合与不可综合语句汇总:(1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor,xnor,buf,not,bufif0,bufif1,notif0,notif1,if,inout,input,instantitation,module,negedge,posedge,operators,output,para..
2022-03-11 15:38:44 1922
原创 verilog的inout端口的使用与测试,实例化ram
空间为128*16的ram,数据端口为inout端口模块程序:`timescale 1ns / 1psmodule ram_tri( input i_we,i_clk, input [6:0] i_addr, inout [15:0] io_data);reg [15:0] mem [127:0];always @ (posedge i_clk) if(i_we) mem[i_addr]<=io_data; a...
2022-03-07 11:54:32 1091
原创 简单的双端口ram
简单的双端口ram,两地址线,两数据线,一条读写信号。在写时能读(写地址和读地址不一样)。模块文件:`timescale 1ns / 1psmodule doub_ram( //input clk, input r_w,//1为读,0为写 input [2:0] addr_r, input [2:0] addr_w, input [15:0] data_i, output [15:0] data_o ); reg [15:0]...
2022-03-06 19:19:48 2585 1
原创 简单可读写ram(但地址线,双数据线:输入数据线+输出数据线)
模块程序:实例化一个8*16的可读写ram,单地址线,双数据线,写入数据马上体现在输出数据线上。`timescale 1ns / 1psmodule ram1( input r_w,//读写选控1为读,0为写。 input [2:0] addr,//地址线 input [15:0] data_i,//输入数据 output [15:0] data_o//输出数据 ); reg [15:0] ram [7:0]; //例化8个16位的存储空...
2022-03-06 18:05:17 1027
原创 wire和reg的区别
基本概念的差别wire型数据常用来表示以assign关键字指定的组合逻辑信号,模块的输入输出端口类型都默认为wire型,wire相当于物理连线,默认初始值是z。reg型表示的寄存器类型,用于always模块内被赋值的信号,必须定义为reg型,代表触发器,常用于时序逻辑电路,reg相当于存储单元,默认初始值是x。在赋值语句中的差别 在连续赋值语句中,表达式右侧的计算结果可以立即更新表达式的左侧。在理解上,相当于一个逻辑之后直接连了一条线,这个逻辑对应于表达式的右侧,而这条线就对应于...
2022-03-06 15:27:16 6831
原创 linux TCP客户端指定端口号连接服务端
Linux下面貌似没有什么直接开启或者关闭端口的命令,因为若仅仅只是开启了端口而不把它与进程相联系的话,端口的开启与关闭就显得毫无意义了(开了端口却没有程序处理进来的数据)。也就是说,Linux里面端口的活动与进程是紧密相连的,如果想要关闭某个端口,那么只要杀掉它对应的进程就可以了。一般linux tcp编程流程如下:但如果TCP客户端需要指定本地源端口号则需要在调用connect()之前调用bind()函数来绑定端口号:客户端代码include <stdio.h>in..
2022-02-21 20:05:28 2374
原创 udp编程(指定源端口和目的端口)---linux
通过bind绑定本机地址(local addr)以及端口(local port), 实现从本机端口(local port)发送以及监听;通过connect指定目的地址(dst addr)以及目的端口(dst port), 实现目标地址的绑定; 源地址+源端口local_addr.sin_family = AF_INET; local_addr.sin_addr.s_addr = inet_addr(localIP); local_addr.sin_port = ht...
2022-02-21 18:13:25 3470
原创 用wireshark抓到54bytes的TCP协议帧包的原因
根据rfc894的说明,以太网封装IP数据包的最大长度是1500字节,也就是说以太网最大帧长应该是以太网首部加上1500,再加上7字节的前导同步码和1字节的帧开始定界符,具体就是:7字节前导同步码 + 1字节帧开始定界符 + 6字节的目的MAC + 6字节的源MAC + 2字节的帧类型 + 1500 + 4字节的FCS。 按照上述,最大帧应该是1526字节,但是实际上我们抓包得到的最大帧是1514字节,为什么不是1526字节呢? 原因是当数据帧到达网卡时,在物理层上网卡要先去...
2020-12-23 15:37:19 1397
原创 时序约束中对未用引脚的设置
set_property BITSTREAM.CONFIG.UNUSEDPIN Pulldown [current_design] #拉低所有未使用的引脚set_property BITSTREAM.CONFIG.UNUSEDPIN Pullup [current_design] #拉高所有未使用的引脚如果不进行上叙设置,其引脚的高低就依据电路图的设计处于原始状态了。具体要看电路图的设计。具体到AX7325开发板风扇引脚的电路图设置,默认...
2020-11-24 14:51:49 912
原创 (PLL时钟第二篇)PLL生成的时钟输出到普通IO的处理
PLL生成的时钟输出到普通IO的处理不管是differential clock capable pin(差分) 和single ended clock capable pin(单端)输入PLL产生的时钟输出pll_out1~6都可以直接给FPGA的其它模块使用,但如果要接入普通的IO接口,这需要经ODDR模块稍加处理下。不管是differential clock capable pin(差分) 和single ended clock capable pin(单端)输入PLL产生的时钟输出pl
2020-11-21 17:54:20 7300 3
原创 (PLL时钟第一篇)differential和single ended的区别
Xilinx k7 系列Clocking IP对于外部时钟输入differential clock capable pin(差分) 和single ended clock capable pin(单端)的区别【模拟信号的输入检测方式:Single-ended模式和Differential模式的区别】 Single-ended输入模式 Differential输入模式 硬件信号线连接方式 对于每一个信号源,.
2020-11-21 17:05:36 4601
原创 FPGA的基本结构
谈起FPGA的结构,通常人们是这样认为的:FPGA的基本结构是由大量的相对较小的可编程逻辑块“岛”镶嵌在可编程互连的“海”里面构成的。初看起来感觉有点云里雾里,仔细琢磨一下,文艺范的表达确实是那么回事: 目前市场上90%以上的FPGA来自于xilinx和altera这两家巨头,而这两家FPGA的实现技术都是基于SRAM的可编程技术,FPGA内部结构基本一致,所以本文仅以xilinx的7系列FPGA介绍。 CLB是xilinx FPGA基本逻辑单元,每个CLB包含两个s...
2020-11-21 14:23:32 1053 1
原创 四大FPGA制造商
FPGA的制造商大佬,你知道多少?FPGA(Field Programmable Gate Array)中文翻译为现场可编程逻辑门阵列,是目前全世界应用最广泛数字系统的主流平台之一,其市场前景诱人,但是门槛之高在芯片行业里无出其右,生产商目前有4大巨头,而且都是美国。下面分别介绍:巨头1:Xilinx 赛灵思介绍:Xilinx是全球领先的可编程逻辑完整解决方案的供应商,也是目前排名第一的FPGA解决方案提供商。开发工具:Vivado,ISE(出了vivado之后,xilinx已经不考虑去升级ISE
2020-11-21 14:18:39 2954
原创 xilinx 7系列FPGA分类简介
xilinx 7系列FPGA分类简介赛灵思公司的7系列FPGA根据不同客户的应用需求,分为4个子系列,即Spartan7系列、Artix7系列、Kintex7系列以及Virtex7系列。和前几代FPGA产品不同的是,7系列FPGA采用的是统一的28nm设计架构,客户在不同子系列的使用方式上是统一的,消除了不同子系列切换使用带来的不便。Spartan7系列是7系列中的屌丝青年,拥有最低的价格、最低的功耗、最小的尺寸以及最低的设计难度,一些低端应用中极为合适。Artix7系列是7系列中的普通青年,相
2020-11-21 13:59:08 5347
原创 设置CentOS的终端等各种快捷键
1、首先单击系统选项,选择首选项。2、然后找到键盘快捷键选项。3、鼠标单击你要修改的快捷键选项。4、这时快捷键列就会提示新建快捷键。5、然后键盘按住你要设置的快捷键。7、这里设置了Alt +A,这时我们按住快捷键就会执行相关功能。...
2020-11-14 23:54:05 440
原创 安装CentOS 的linux内核源代码
CentOS的内核源码一般是放在/usr/src/kernel下,一般源码默认是不安装的,所以此目录下原始状态位空。如果需要查看内核源码,可以执行yum install kernel-devel将源码down至/usr/src/kernel该目录。
2020-11-14 23:44:51 760
原创 制作CentOS-linux系统u盘安装启动盘
制作CentOS-linux系统u盘安装启动盘(使用UltraISO)-实体机装CentOS准备:1,最新的UltraISO软件。2,centOS的linux ISO镜像文件。A:下载centOS镜像文件地址https://www.centos.org/download/ 目前,有两种使用CentOS平台的方式,即CentOS Linux和CentOS Stream。 CentOS Linux是Red Hat...
2020-11-14 23:34:44 1608
原创 CentOS 访问群晖NAS 共享文件夹
CentOS 访问群晖NAS 共享文件夹前提条件1、centos 6.10系统2、群晖DS220j-NAS系统A:启动NAS的NFS服务,创建一个共享文件夹目录(用来挂载到LINUX系统中) 直接通过浏览器输入NAS的IP地址可以进入NAS的管理界面。高级设置–默认打开共享的文件夹编辑需要共享的文件夹(最后挂载到centOS的就是这个文件夹。如:192.168.1.*:/volume1/zkcmfile)启动异步,设置需要访问的服务器IP和权限可以用192...
2020-11-14 22:50:33 3451
Source Insight的Python语言包Python.CLF文件
2017-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人