- 博客(25)
- 收藏
- 关注
原创 vcs_dve+sverilog
1. 启动仿真:在putty服务器进入含有vcs_go(编写的编译脚本)脚本文件的路径(工程路径)下,运行./vcs_go脚本makefile运行结束后,输入dve -mode64打开vcs,在GUI点击open database,打开wave.vpd,可任意添加信号查看仿真结果;2. 退出仿真:tb中要写$finish;会直接仿真完成后退出,如果使用$stop,就要使用下面的快捷键退出:ctrl+z 强制退出ctrl+c 暂停 出现冒号: 输入q 回车 可退出推荐第二种方法,安全,完成了整
2020-08-05 10:06:28
1299
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(四.2 MAC)
tri_mode_ethernet_mac_0_frame_typ.v中的frombits和tobits是存数组和取数组的函数,用来发送数组和校验数组;
2020-04-16 11:43:31
389
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(四.1 MAC)
xilinx提供了三速以太网MAC层的IP:tri_mode_ethernet_mac,此IP的用户接口经过简化,使用AXI_stream接口连接用户逻辑,另外一侧使用GMII/MII连接PHY,此处的PHY可以是外部PHY芯片,也可以连接gig_eth_pca_pma的IP,gig_eth_pca_pma可以两种形式,BASE-X时内部实现PHY层,外面直连SFP光模块,SGMII时提供一个GM...
2020-04-11 16:08:28
1024
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(三.2)
接下来介绍发送部分,也分为两个端口需要模拟,一个是模拟对端的PCS/PMA通过txp/txn串行线收到数据后解串解码解帧并校验数据;另一个是模拟MAC向IP的GMII接口发送以太网帧;模拟MAC写GMII:等待配置完成后,通过GMII发4个以太网帧,以太网帧已初始化数组,在发完一帧后,需要等待12个时钟,这12个时钟内,IP会插入12个字节的IPG;模拟对端PCS/PMA:...
2020-04-10 14:43:50
326
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(三.1)
状态机:方向 发送内容| K28.5 RD为-1 is_k为1| 检测完成配置后,发送I2有序集| 发送4个不同类型的帧------》帧内状态机: 内容V 发送I2有序集 ...
2020-04-10 14:43:25
323
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(三)
一般来说,以太网两种情况 使用外部PHY芯片实现PCS/PMA/PMD,FPGA实现MAC通过GMII/SGMII访问外部PHY芯片; 使用FPGA内部的tranceiver实现PMA,FPGA实现MAC通过GMII访问PCS,PCS通过tranceiver实现的PMA来访问外部PMD;Gig_eth_pcs_pma_0这个IP有两种模式:1000base-x: IP内集成了以太...
2020-04-10 14:42:05
969
1
转载 光网络以太网端口属性功能介绍(转)
2.5以太网物理层根据ISO的OSI七层参考模型,物理层规定了两个设备之间的物理接口,以及该接口的电气特性,规程特性,机械特性等内容。以太网技术在20多年中不断发展,产生了多种技术标准。包括10Base5、10Base2、10Base-T、10Base-F、100Base-TX、100Base-FX、100Base-T4、100Base-T2、1000Base-CX、1000B...
2020-04-09 19:07:45
605
转载 光网络以太网端口属性功能介绍(转)
2.3全双工以太网把双绞线作为以太网的传输介质不但提高了灵活性和降低了成本,而且引入了一种高效的运行模式——全双工模式。所谓全双工,就是数据的发送和接收可以同时进行,互不干扰。传统的网络设备HUB是不支持全双工的,因为HUB的内部是一条总线,数据接收和发送都是在该总线上进行,无法实现全双工通信。2.4自协商因为以太网的速率和双工类型的多样性,为减少...
2020-04-09 19:01:19
1442
转载 光网络以太网端口属性功能介绍(转)
https://forum.huawei.com/enterprise/zh/thread-375981.html端口使能为了提高产品的性能,防止微码接收和处理一些非业务数据,要求单板提供一个可以配置MAC端口“使能/禁止”的设置。MAC端口“使能”表示用户使用并开通了业务,“禁止”意味着这个端口的业务将不被处理。如果端口是光口,则激光器还会被强制关断。2...
2020-04-09 18:59:04
989
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(二.4)
decode 8b/10b 代码更简单,因为对应关系简单: module decode_8b10b( input clk, input rst, input [0:9] d10, output reg[7:0] q8, output is_k) wire k28; wire [9...
2020-04-09 15:05:20
170
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(二.3)
// reverse the bits genvar i; generate q6_loop for (I <= 0; I < 6; I <= I + 1) assign q10[I] = b6[I]; endgenerate // calculate the running disparity after the 5B6B b...
2020-04-09 14:36:08
195
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(二.2)
// calculate the running disparity after the 5B6B block encode 根据输入的rd和数据5b,计算出6b输出always@(posedge clk)begin if(rst) b6 <= 0; else begin if (k28) begin ...
2020-04-09 14:34:10
214
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(二.1)
在上一节中介绍了PCS 8b10b encoder/decoder:的原理,接下来这一节,介绍FPGA实现:本质是一张编码表,查找表:XIilinx ug476Appendix C D码表、K码表,但是特殊情况没有标明,下面是特殊情况:5b/6b是根据3b/4b的计算结果的极性(postive/negtive)来选择postive或者negtive的6b输出,那么6b的输出一般有两种...
2020-04-09 13:58:48
374
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(一.5)
前面讲的都是CRC的FPGA实现,但是,在实际使用中,运算周期太多,是不满足要求的,只有一个运算周期才可以应用于工程中,为了实现单周期CRC并行计算,比如 CRC32的32个bit同时计算,有人开发出一种方法,这种方法有verilog代码生成器,链接如下:http://en.findeen.com/crc_code_generator.html原理(转载:http://outputlogic....
2020-04-09 08:57:32
315
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(一.4)
FCS/CRC代码实现:原文链接:https://blog.youkuaiyun.com/qq_34070723/article/details/89736772/*************************LFSR实现方法**************************/module CRC_Gen( input rst_n, /*async r...
2020-04-07 19:34:45
201
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(一.3)
FCS/CRC代码实现:原文链接:https://blog.youkuaiyun.com/qq_34070723/article/details/89736772一、按照模二除法实现CRC,多项式CRC=x16+x12+x5+x0,下面是Verilog代码,其是对输入的并行数据进行计算CRC,但是用的是时序串行计算的方法,需要8个clk才计算出结果。/********************...
2020-04-07 19:33:12
576
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(一.2)
以太网FCS校验/CRC校验:“模2除法”与“算术除法”类似,但它既不向上位借位,也不比较除数和被除数的相同位数值的大小,只要以相同位数进行相除即可。模2加法运算为:1+1=0,0+1=1,0+0=0,无进位,也无借位;模2减法运算为:1-1=0,0-1=1,1-0=1,0-0=0,也无进位,无借位。相当于二进制中的逻辑异或运算。也就是比较后,两者对应位相同则结果为“0”,不同则结果为“1”。...
2020-04-07 17:13:57
227
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(一.1)
帧间隙IFG(Interframe Gap),两个以太网帧之间的时间段,用来流控,最小值时96bit传输的时间:IFGmin=96bit/speed (s) 如:10Mmin: 9600 ns 100Mmin: 960 ns 1000Mmin: 96 ns...
2020-04-07 15:47:46
654
转载 xilinx_Recovery/Removal
分析Recovery/Removal异步复位有Recover time 和Remove time 的风险,也就是说recovery time和removal time都是检查异步信号(reset或preset或set)的释放沿,释放沿必须在时钟沿前面提前recovery time释放,或者在时钟沿后removal time之后释放。顺便简单分析一下setup/hold,对于同一个时钟...
2020-04-07 13:05:18
1120
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(二)
下面讲PMA/PCS具体代码实现和原理:PMA字对齐:Serial data must be aligned to symbol boundaries before it can be used as parallel data. Tomakealignment possible, transmitters send a recognizable sequence, usually cal...
2020-04-03 15:23:35
845
原创 黑电平校正、FPN校正、平场校正、白平衡校正
黑电平校正、FPN校正、平场校正、白平衡校正,这四种校正,虽然形成原理和操作方式有不同,但是在实际应用中,经常是交叉的,尤其是在硬件实现时,出于速度以及资源的考虑,会融合起来做,或者使用一种暴力简单的方式来达到效果,在大多数应用场合,并不需要严格的校正,比如线性校正可以代替非线性校正;原理:黑电平校正:为什么要黑电平校正,1.sensor的ADC精度和分辨力问题,这两项,导致绝对黑电平时,...
2020-03-31 19:44:47
8329
原创 FPGA IMPLEMENT 1Gb/10Gb ETH(一)
MII 10M/100M 10Mbps=2.5MHz*4bit100Mbps=25MHz*4bit RMII 10M/100M 10Mbps=5MHz*2bit100Mbps=50MHz*2bit SMII 串行10M/100M 100Mbps=125MHz*8b/10b10Mbps=12.5MHz*8b/10b GMII 1000M ...
2020-03-21 15:21:47
1468
原创 chmod
为test.sh增加可执行权限chmod +x ./test.shu 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。 + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。-c : 若该...
2020-01-20 14:48:19
162
原创 linux中如何通过echo输出!(叹号)? -bash: !": event not found
linux中如何通过echo输出!(叹号)? -bash: !": event not found例如#!/bin/bashecho "hello world!"会报错-bash: !": event not found但是!前后加上空格,就不会报错了echo "hello world ! "...
2020-01-20 14:38:43
1009
原创 -bash: ./test0.sh: /bin/bash^M: bad interpreter: 没有那个文件或目录
[yan_bingqing@FPGAT630 shell_test]$ chmod +x ./test0.sh[yan_bingqing@FPGAT630 shell_test]$ ./test0.sh-bash: ./test0.sh: /bin/bash^M: bad interpreter: 没有那个文件或目录原因:window下编译的格式需要转成unix格式的;1.查看foma...
2020-01-20 14:38:34
323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人