Abstract:We present a new high-level synthesis methodology for using large language model tools to generate hardware designs. The methodology uses exclusively open-source tools excluding the large language model. As a case study, we use our methodology to generate a permuted congruential random number generator design with a wishbone interface. We verify the functionality and quality of the random number generator design using large language model-generated simulations and the Dieharder randomness test suite. We document all the large language model chat logs, Python scripts, Verilog scripts, and simulation results used in the case study. We believe that our method of hardware design generation coupled with the open source silicon 130 nm design tools will revolutionize application-specific integrated circuit design. Our methodology significantly lowers the bar to entry when building domain-specific computing accelerators for the Internet of Things and proof of concept prototypes for later fabrication in more modern process nodes.
Abstract:Sensors with digital outputs require software conversion routines to transform the unitless ADC samples to physical quantities with the correct units. These conversion routines are computationally complex given the limited computational resources of low-power embedded systems. This article presents a set of machine learning methods to learn new, less-complex conversion routines that do not sacrifice accuracy for the BME680 environmental sensor. We present a Pareto analysis of the tradeoff between accuracy and computational overhead for the models and present models that reduce the computational overhead of the existing industry-standard conversion routines for temperature, pressure, and humidity by 62 %, 71 %, and 18 % respectively. The corresponding RMS errors for these methods are 0.0114 $^\circ$C, 0.0280 KPa, and 0.0337 %. These results show that machine learning methods for learning conversion routines can produce conversion routines with reduced computational overhead while maintaining good accuracy.
Abstract:This article presents an algorithm for reducing measurement uncertainty of one quantity when given measurements of two quantities with correlated noise. The algorithm assumes that the measurements of both physical quantities follow a Gaussian distribution and provides concrete justification that these assumptions are valid. When applied to humidity sensors, it provides reduced uncertainty in humidity estimates from correlated temperature and humidity measurements. In an experimental evaluation, the algorithm achieves uncertainty reduction of 4.2%. The algorithm incurs an execution time overhead of 1.4% when compared to the minimum algorithm required to measure and calculate the uncertainty. Detailed instruction-level emulation of a C-language implementation compiled to the RISC-V architecture shows that the uncertainty reduction program required 0.05% more instructions per iteration than the minimum operations required to calculate the uncertainty.