Patents by Inventor Kiarash Bazargan

Kiarash Bazargan has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11475288
    Abstract: Various implementations of sorting networks are described that utilize time-encoded data signals having encoded values. In some examples, an electrical circuit device includes a sorting network configured to receive a plurality of time-encoded signals. Each time-encoded signal of the plurality of time-encoded signals encodes a data value based on a duty cycle of the respective time-encoded signal or based on a proportion of data bits in the respective time-encoded signal that are high relative to the total data bits in the respective time-encoded signal. The sorting network is also configured to sort the plurality of time-encoded signals based on the encoded data values of the plurality of time-encoded signals.
    Type: Grant
    Filed: November 5, 2019
    Date of Patent: October 18, 2022
    Assignee: Regents of the University of Minnesota
    Inventors: Mohammadhassan Najafi, David J. Lilja, Marcus Riedel, Kiarash Bazargan
  • Patent number: 11275563
    Abstract: Example devices are described that include a computational unit configured to process first set of data bits encoding a first numerical value and a second set of data bits encoding a second numerical value. The computational unit includes a bit-stream generator configured to generate bit combinations representing first and second bit sequences that encode the first and second numerical values, respectively, based on a proportion of the data bits in the sequence that are high relative to the total data bits. The first bit sequence is generated using a first Sobol sequence source, and the second bit sequence is generated using a second Sobol sequence source different from the first Sobol sequence source. The device also includes computation logic configured to perform a computational operation on the bit combinations and produce an output bit-stream having a set of data bits indicating a result of the computational operation.
    Type: Grant
    Filed: June 19, 2020
    Date of Patent: March 15, 2022
    Assignee: Regents of the University of Minnesota
    Inventors: Mohammadhassan Najafi, David J. Lilja, Marcus Riedel, Kiarash Bazargan, Sayed Abdolrasoul Faraji, Bingzhe Li
  • Publication number: 20210374507
    Abstract: Disclosed herein is a low-cost, high-performance, and energy-efficient near-sensor convolution engine based on pulsed unary processing. The disclosed engine removes the necessity of using costly analog-to-digital converters. Synthesis results show that the proposed pulse-based design significantly improves the hardware cost and energy consumption compared to the conventional fixed-point binary and also to the stochastic computing-based designs.
    Type: Application
    Filed: May 27, 2021
    Publication date: December 2, 2021
    Applicant: University of Louisiana at Lafayette
    Inventors: Mohammad Hassan Najafi, S. Rasoul Faraji, Kiarash Bazargan, David Lilja
  • Patent number: 11018689
    Abstract: In some examples, a device includes shuffling circuitry configured to receive an input unary bit stream and generate a shuffled bit stream by selecting n-tuple combinations of bits of the input unary bit stream. The device also includes stochastic logic circuitry having a plurality of stochastic computational units configured to perform operations on the shuffled bit stream in parallel to produce an output unary bit stream, each of the stochastic computational units operating on a different one of the n-tuple combinations of the bits.
    Type: Grant
    Filed: October 19, 2018
    Date of Patent: May 25, 2021
    Assignee: Regents of the University of Minnesota
    Inventors: Soheil Mohajer, Zhiheng Wang, Kiarash Bazargan, Marcus Riedel, David J. Lilja, Sayed Abdolrasoul Faraji
  • Publication number: 20200401376
    Abstract: Example devices are described that include a computational unit configured to process first set of data bits encoding a first numerical value and a second set of data bits encoding a second numerical value. The computational unit includes a bit-stream generator configured to generate bit combinations representing first and second bit sequences that encode the first and second numerical values, respectively, based on a proportion of the data bits in the sequence that are high relative to the total data bits. The first bit sequence is generated using a first Sobol sequence source, and the second bit sequence is generated using a second Sobol sequence source different from the first Sobol sequence source. The device also includes computation logic configured to perform a computational operation on the bit combinations and produce an output bit-stream having a set of data bits indicating a result of the computational operation.
    Type: Application
    Filed: June 19, 2020
    Publication date: December 24, 2020
    Inventors: Mohammadhassan Najafi, David J. Lilja, Marcus Riedel, Kiarash Bazargan, Sayed Abdolrasoul Faraji, Bingzhe Li
  • Patent number: 10763890
    Abstract: This disclosure describes techniques for performing computational operations on input unary bit streams using one or more scaling networks. In some examples, a device is configured to perform a digital computational operation, where the device includes a plurality of input wires and a plurality of output wires. Each input wire is configured to receive a respective input bit of an encoded input value, and each output wire is configured to output a respective output bit of an encoded output value. The device also includes scaling network circuitry configured to apply a function to the encoded input value by electrically routing at least one input wire of the plurality of input wires to at least two output wires of the plurality of output wires. The device can also include hybrid binary/unary computations.
    Type: Grant
    Filed: November 9, 2018
    Date of Patent: September 1, 2020
    Assignee: Regents of University of Minnesota
    Inventors: Soheil Mohajer, Zhiheng Wang, Kiarash Bazargan, Sayed Abdolrasoul Faraji
  • Patent number: 10740686
    Abstract: Devices and techniques are described in which stochastic computation is performed on analog periodic pulse signals instead of random, stochastic digital bit streams. Exploiting pulse width modulation (PWM), time-encoded signals corresponding to specific values are generated by adjusting the frequency (period) and duty cycles of PWM signals. With this approach, the latency, area, and energy consumption are all greatly reduced, as compared to prior stochastic approaches. Circuits synthesized with the proposed approach can work as fast and energy efficiently as a conventional binary design while retaining the fault-tolerance and low-cost advantages of conventional stochastic designs.
    Type: Grant
    Filed: January 12, 2018
    Date of Patent: August 11, 2020
    Assignee: Regents of the University of Minnesota
    Inventors: Mohammadhassan Najafi, Shiva Jamalizavareh, David J. Lilja, Marcus Riedel, Kiarash Bazargan, Ramesh Harjani
  • Publication number: 20200143234
    Abstract: Various implementations of sorting networks are described that utilize time-encoded data signals having encoded values. In some examples, an electrical circuit device includes a sorting network configured to receive a plurality of time-encoded signals. Each time-encoded signal of the plurality of time-encoded signals encodes a data value based on a duty cycle of the respective time-encoded signal or based on a proportion of data bits in the respective time-encoded signal that are high relative to the total data bits in the respective time-encoded signal. The sorting network is also configured to sort the plurality of time-encoded signals based on the encoded data values of the plurality of time-encoded signals.
    Type: Application
    Filed: November 5, 2019
    Publication date: May 7, 2020
    Inventors: Mohammadhassan Najafi, David J. Lilja, Marcus Riedel, Kiarash Bazargan
  • Patent number: 10520975
    Abstract: In some examples, a device includes an integrated circuit and two or more computational units configured to process respective stochastic bit streams in accordance with respective input clocks. Each of the stochastic bit streams comprises sequential sets of data bits, each of the sets of data bits representing a numerical value based on a probability that any bit in the respective set of data bits is one. The respective input clocks for each of the two or more computational units are unsynchronized.
    Type: Grant
    Filed: March 3, 2017
    Date of Patent: December 31, 2019
    Assignee: Regents of the University of Minnesota
    Inventors: David J. Lilja, Mohammadhassan Najafi, Marcus Riedel, Kiarash Bazargan
  • Publication number: 20190149166
    Abstract: This disclosure describes techniques for performing computational operations on input unary bit streams using one or more scaling networks. In some examples, a device is configured to perform a digital computational operation, where the device includes a plurality of input wires and a plurality of output wires. Each input wire is configured to receive a respective input bit of an encoded input value, and each output wire is configured to output a respective output bit of an encoded output value. The device also includes scaling network circuitry configured to apply a function to the encoded input value by electrically routing at least one input wire of the plurality of input wires to at least two output wires of the plurality of output wires. The device can also include hybrid binary/unary computations.
    Type: Application
    Filed: November 9, 2018
    Publication date: May 16, 2019
    Inventors: Soheil Mohajer, Zhiheng Wang, Kiarash Bazargan, Sayed Abdolrasoul Faraji
  • Publication number: 20190121839
    Abstract: In some examples, a device includes shuffling circuitry configured to receive an input unary bit stream and generate a shuffled bit stream by selecting n-tuple combinations of bits of the input unary bit stream. The device also includes stochastic logic circuitry having a plurality of stochastic computational units configured to perform operations on the shuffled bit stream in parallel to produce an output unary bit stream, each of the stochastic computational units operating on a different one of the n-tuple combinations of the bits.
    Type: Application
    Filed: October 19, 2018
    Publication date: April 25, 2019
    Inventors: Soheil Mohajer, Zhiheng Wang, Kiarash Bazargan, Marcus Riedel, David J. Lilja, Sayed Abdolrasoul Faraji
  • Publication number: 20180204131
    Abstract: Devices and techniques are described in which stochastic computation is performed on analog periodic pulse signals instead of random, stochastic digital bit streams. Exploiting pulse width modulation (PWM), time-encoded signals corresponding to specific values are generated by adjusting the frequency (period) and duty cycles of PWM signals. With this approach, the latency, area, and energy consumption are all greatly reduced, as compared to prior stochastic approaches. Circuits synthesized with the proposed approach can work as fast and energy efficiently as a conventional binary design while retaining the fault-tolerance and low-cost advantages of conventional stochastic designs.
    Type: Application
    Filed: January 12, 2018
    Publication date: July 19, 2018
    Inventors: Mohammadhassan Najafi, Shiva Jamalizavareh, David J. Lilja, Marcus Riedel, Kiarash Bazargan, Ramesh Harjani
  • Publication number: 20170255225
    Abstract: In some examples, a device includes an integrated circuit and two or more computational units configured to process respective stochastic bit streams in accordance with respective input clocks. Each of the stochastic bit streams comprises sequential sets of data bits, each of the sets of data bits representing a numerical value based on a probability that any bit in the respective set of data bits is one. The respective input clocks for each of the two or more computational units are unsynchronized.
    Type: Application
    Filed: March 3, 2017
    Publication date: September 7, 2017
    Inventors: David J. Lilja, Mohammadhassan Najafi, Marcus Riedel, Kiarash Bazargan