Full document: LVDS_OpenSource

Analog design is difficult and time consuming. Less and less engineers pursue this field. High speed transceiver circuits are analog. Their designs require specialized knowledge and transistor-level tuning for specific silicon process. High speed transceivers are used in many areas. Examples of these are Ethernet networking, communication channel interfaces, bus interfaces, and others. They are also used for inter-chip connectivity such as from A/D converter to FPGA/processing chip or from Ethernet MAC to PHY devices. They help to reduce the number of signals required for connecting from 1 chiplet to another in multi-chip modules. If you're using a USB device, you're using a high-speed transceiver.

Low-voltage differential signaling (LVDS) circuits are a class of high-speed transceivers. To help advancing the industry in this area, today LeWiz Communications open-source the LVDS transceiver design for the open-source Skywater 130nm silicon process. This design has been tuned for up to 1 Giga bit per second speed. Its databases are available at: https://github.com/lewiz-support/LVDS_Transceiver/tree/main (Or go to github.com and search for "LeWiz" or "LVDS transceiver")

This design uses open-source tools, libraries, and low-cost silicon process. Its advantages include: Driving capability up to 10 meters, good eye opening/good immunity to noise, has low off-set and unbalanced differential output voltages.

Previously, LeWiz released to open source 3 Ethernet MAC cores supporting up to 100Gbps speed. This open-source transceiver is the first to complement those cores. The open-source technologies are released with Apache 2.0 license - free of licensing or royalty fee with source code/designs available to designers. We hope you will use and contribute to open-source further advancing this technology.

LeWiz Communications, Inc. develops extensive networking solutions for use in aerospace, datacenters and embedded products including advanced time-trigger Ethernet, time-sensitive networking technologies, eFPGA and radiation hardened electronics in GF 12LP and Skywater RH90 silicon processes. Further information are available at www.LeWiz.com or contact: info@lewiz.com

* Any trademark belongs to their respective organization

July 4, 2023

Space launches used to be by or for government only. Today, commercial companies launch space vehicles frequently and made space accessible to civilian. We are at an exciting point in history!

Read the full paper here.

July 2023

Abstract: Field Programmable Gate Array (FPGA) technology has been used extensively in space applications where the natural radiation environment presents major challenges to electronic parts. Commercial FPGA technology is trending to deep nano-meter silicon processes, which impacts the availability of radiation resilience FPGA chips. Space systems require long timeframes for development and launch, and often the electronics and code may become obsolete or require updating before the system can be launched. FPGA logic/fabric-size continues to grow dramatically which allows and practically requires more and more IP cores to be integrated within a chip. New IP cores and tools will be needed to enable space designs with commercial FPGA technology to withstand radiation. This paper discusses the challenges in designing FPGA-based space systems and potential open-source and commercial technologies that will be useful to space application developers. It also references an ongoing FPGA based space telescope spectrometer design to discuss different aspects of complex FPGA design with mixed analog and digital circuits.

Read the full paper here.

August 15, 2022

Part 1: Demo using LeWiz LMAC1 (from GitHub) with Petalinux to ping, telnet, and wget functions. The demo has a complete system with LeWiz LMAC1 Ethernet controller, Zynq Arm processor subsystem, Linux OS running on Xilinx ZCU102 board.

August 15, 2022

Part 2: More in depth demo of LeWiz LMAC1 Ethernet controller + Processor subsystem with Petalinux on Xilinx ZCU102 board.

August 15, 2022

Part 3 of 3 part series.
More robust demo using LeWiz LMAC1 (from GitHub) with Ubuntu Linux. The demo has a complete system with LeWiz LMAC1 Ethernet controller, Zynq Arm processor subsystem, Linux OS running on Xilinx ZCU102 board.

October 30, 2020

This video discusses different methods for text summarization. It shows different approaches to text summarization using machine learning (ML) technologies. Specifically, TensorFlow base and PyTorch are used for comparison. (1) An LSTM sequence-to-sequence, TensorFlow based text summarization is shown, then (2) BERT - a bidirectional, sequence-to-sequence, PyTorch ML tool is shown. The PROs and CONs of each method are also discussed.

September 17, 2020

This demo is a proof of concept using simple training dataset without multi-line sequence for now. The demo will discuss the internal of the neural machine translation engine, then showing the actual conversion process and post processing.

September 3, 2020

This video demonstrates an open source Pseudogen tool which LeWiz team has extended its functionality to also generate pseudocode for C-source code. Its original release on Github was for Python. The tool uses Statistical Machine Translation method to convert C to pseudo code. It applies tree-to-string and phrase-based machine learning technique to do the conversion. Pseudo code is easier to understand as it's in natural language such as English. This will help developers to tune algorithm, debug easier. Pseudo code is also a form of specification for longer term maintenance purposes.

Matlab-to-Verilog Converter Series: Part 1 (C to Verilog) | Part 2 (MATLAB to C)
September 3, 2020

This demo is about the converter from Matlab to C-language. It's the 2nd video of LeWiz's Matlab-to-Verilog converter series. With Verilog source available hardware acceleration of the code using FPGA or ASIC can be done. This tool uses Neural Machine Translation method to convert from source code in Matlab to C. NMT uses sequence-to-sequence machine learning to do the conversion. We will discuss the internal of the tool and show a demo of the conversion using a sample of Kalman Filter Matlab code.

Matlab-to-Verilog Converter Series: Part 1 (C to Verilog) | Part 2 (MATLAB to C)
September 3, 2020

This demo is about conversion of C source code to Verilog. It is the 1st in a series of videos that we will discuss about code conversion & specification. Other links can be found here.

C code converted to Verilog can be hardware accelerated using FPGA or ASIC hardware. The same code would run on FPGA with more performance, lower latency, less power, and may be more secure. 3 tools from open source and commercial were tested. We will discuss the observations we found using different code from small to more complex LDPC error correction code. The video also discusses the resulting code structure and give a demo of an open source tool.

KF/Object Tracking Series: Part 1 | Part 2
August 18, 2020

This is the 2nd video of the 3 part series demonstrating moving object tracking.

This video demonstrates 3 different use of Extended Kalman Filter to overcome noise in non-linear system and non-linear measurement data. It also shows Extended Kalman Filter can handle both uniform noise error conditions and non-uniform noise errors.

Differential equations modeling the system and measurement data in this case are non-linear. They contain trigonometric functions in them so the regular Kalman Filter cannot be used.

This 3-part demo does take the curvature of the earth into account.

-- PART 1:
SYSTEM STATE: Lat, long, Velocity in X, Velocity in Y directions
SYSTEM MEASUREMENT: Distance and direction of the object from the point of measurement
Modeled differential equations are non-linear

-- PART 2:
Same equations as Part 1 above but remap the measurement from distance and direction to X-Y (lat, long) coordinates

-- PART 3:
Same equations as Part 1 but use non-uniform noise error injection (or more real life conditions)

KF/Object Tracking Series: Part 1 | Part 2
August 13, 2020

This video discusses moving vehicle tracking using radio frequency techniques and Kalman Filter for accurate position estimation. Subsequent videos will show Extended Kalman Filter for non-linear systems, Time Difference of Arrival and Angle of Arrival methods.

Kalman Filter is the DE FACTO standard for use in positioning and navigation. It has a wide range of applications including guidance, navigation, and control of vehicles, especially aircraft, spacecraft and moving ships. It also has usage in cognitive radio, sensors and others.

Kalman Filter is a statistical algorithm. It uses series of measurements fed into it over time to accurately estimate the results and overcoming noise presence in the measured data. It is a machine learning method. KF is modeled by a set of matrix equations for prediction and updating of the estimated results. It can be compute intensive.

    The demo has 3 parts:
  • Modeled in Octave Matlab; uses X-Y coordinates (latitude, longitude), apply uniform error and estimate position
  • Uses Distance and Angle measurements with uniform error in the measurements
  • Uses Distance and Angle measurements but with more realistic non-uniform error distribution

August 6, 2020

Main discussion is about the developing an FPGA-based wireless relay system from our emulated gateway system. We also discuss issues encountered and how we overcome them. An actual demo is also presented as the 2nd half of the video.

The demo's first part is booting, bringing up the system, making wireless connection (In the demo, this part from the client, it will indicate as no Internet accessible. This is because the client is connected to the Internet via the gateway/proxy system. Not directly.)

The demo 2nd part is to browse the Internet and play various simultaneous videos to show its performance. This FPGA has less CPU cores and slower processor frequency (relative to the x86 CPUs). But still need to maintain high quality user experience. Optimization was done and painlessly.

The 3rd part of the demo is to use "tcpdump" to capture packets and prove that the actual packets traverse from wireless interface to the Ethernet interface as we expected how things should work in a proxy application.

The architecture supports wireless technology of different types and Ethernet. Wireless interface can be 5G networking, OFDM wireless, beamforming wireless interfaces, etc. The structures and code are in place. We will continue to advance this platform as you will see.

This is an exciting phase. It opens up many exciting possibilities for us.

July 15, 2020

This demo shows the integration of LDPC (low-density parity-check) and OFDM (orthogonal frequency-division modulation) in an emulated wireless system. LDPC is preferred for its support of high data rate, high efficiency, and good for environment with a great deal of background noise or data corruption. Useful for 5G, WIFI, WiMAX, Digital TV, SATCOM, etc.

The application demonstrated is Ltransfer running on an ARM emulated sub-system to transmit/receive data across an LDPC/OFDM wireless link. Errors are injected and corrected by the system.

Also demonstrated is simultaneous emulation and simulation running in cooperation to overcome performance issues and still using low cost PC systems.

Additional References:

July 13, 2020

This demo is about mobile networking (MANET). It's a part of LeWiz's wireless demo video series.
MANET uses no networking infrastructure so it can be deployed anywhere.
The routing protocol used is the active-routing OLSR (Optimized Link State Routing). Its main advantage is to reduce latency in network routing.

May 8, 2020

This demo is about Orthogonal Frequency Division Multiplexing (OFDM). OFDM is an advanced concept for wireless communications in the air or underwater. It uses multiple sub-carriers instead of the conventional method of single-carrier. OFDM has major advantages in coping with difficult channel conditions and better security. The demo shows simulation of OFDM with hardware acceleration in Verilog and results in digital simulation and waves in time domain.

January 30, 2020

Video demo of modeling wireless link propagation loss due to physical, weather, environment conditions. Additional factors include frequency, distance, TX power, RX sensitivity, etc. These physical factors create complexity in wireless link modeling. The models can be used in emulation system or system of systems to model large network of platforms.

October 7, 2019

Demo of emulation application using a wireless gateway system. Emulated the embedded system with QEMU, SystemC and Virtual I/O. The architecture supports mixed computing architectures ARM CPU, FPGA/ASIC logic/IP cores with Verilog RTL/SystemC, Virtual I/O with wireless network concurrent with Ethernet network. Demo with data intensive Web transfers of images and videos. Applicable usages of gateways are in ground, air and space vehicles.

February 10, 2019

The purpose of co-simulation is to enable hardware and software development in parallel. It shortens total development time, enabling testing of software with actual hardware code before any hardware is available. This will verify the functionalities and compatibility of hardware and software before production.