OpenSERDES——Verilog语言实现的开源硬件串行器/解串器(SerDes)
OpenSERDES – Open Hardware Serializer/Deserializer (SerDes) in Verilog

原始链接: https://github.com/SparcLab/OpenSERDES

本项目使用OpenLane和Cadence Virtuoso在Skywater 130nm CMOS工艺中实现了一个高速串行化/反串行化器(SerDes)。SerDes将并行数据转换为串行数据以进行高速传输,反之亦然。序列化器和反序列化器模块使用Verilog HDL编写,并使用OpenLane进行综合。 发射器(TX)使用CMOS反相器链作为驱动器。接收器(RX)采用电阻反馈反相器来检测低幅度信号,然后是一个CMOS反相器进行增益放大,最后是一个D触发器(DFF)对数据进行采样。DFF使用与非门实现。 过采样时钟数据恢复(CDR)电路从接收信号中恢复数据和时钟,并根据数据跳变调整时钟频率。每个组件(序列化器、反序列化器、TX驱动器、电阻反馈反相器、DFF、与非门和CDR)的设计文件(GDS、SPICE、网表和.oa)都保存在各自的文件夹中。

Hacker News 最新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 OpenSERDES – 基于Verilog的开源硬件串行器/解串器 (SerDes) (github.com/sparclab) 5 分,来自 peter_d_sherman,49分钟前 | 隐藏 | 过去 | 收藏 | 1 评论 peter_d_sherman 46分钟前 [–] 相关书籍:“高速串行I/O简明教程:面向设计人员的指南,含FPGA应用”(2005):https://www.xilinx.com/publications/archives/books/serialio.... 回复 考虑申请YC 2025秋季批次!申请截止日期为8月4日 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系我们 搜索:
相关文章

原文

Serializer/Deserializer (SerDes) is the most important functional block used in high speed communication.

SerDes converts parallel data into a serial (one bit) stream of data that is transmitted over a high-speed connection, such as LVDS, to a receiver that converts the serial stream back to the original, parallel data.

A global CLOCK signal is present to sequence the serialization and deserialization of data from one block to another.

Test Image 1

Technology: Skywater OpenPDK 130nm

Tools Used: OpenLane, Virtuoso Cadence

The Serializer and Deserializer blocks are coded in Verilog HDL and synthesized using Openlane tool mapped to Sky130 CMOS technology. Simulation results and associated gds, spice and netlist files are uploaded in Serializer and Deserializer folders respectively

A chain of CMOS inverters is used as TX driver to drive the input capacitance of the channel. The gds, spice, netlist and. oa files for the same are present in Inverter_Based_Tx folder

A fully synthesizable Rx is designed using Resistive FB inverter followed by CMOS inverter as sensing and gain element respectively. The following DFF is used to sample the data using the clock recovered by the CDR.

Resistive Feedback inverter is used as sensing element to sense low amplitude received signal at the front end of the receiver. Details of the implementation of Resistive FB inverter can be found in Resistive_FB_inverter folder

DFF is the simplest memory block to sample and store the data before deserializing. Master Slave DFF is implemented using NAND logic gates. Details of the same are present in DFF and NAND folders

Oversampling CDR is used to recover the data and clock from the received signal. The CDR uses the data transitions to tune the clock frequency for proper decoding of received signal. The Oversampling_CDR folder contains the gds, spice and synthesized Verilog files generated from Openlane tool.

联系我们 contact @ memedata.com