RU2723271C1 - Method for generation of digital white gaussian noise using the wallace method - Google Patents
Method for generation of digital white gaussian noise using the wallace method Download PDFInfo
- Publication number
- RU2723271C1 RU2723271C1 RU2019130892A RU2019130892A RU2723271C1 RU 2723271 C1 RU2723271 C1 RU 2723271C1 RU 2019130892 A RU2019130892 A RU 2019130892A RU 2019130892 A RU2019130892 A RU 2019130892A RU 2723271 C1 RU2723271 C1 RU 2723271C1
- Authority
- RU
- Russia
- Prior art keywords
- addresses
- bit
- samples
- generator
- mask
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/022—Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03B—GENERATION OF OSCILLATIONS, DIRECTLY OR BY FREQUENCY-CHANGING, BY CIRCUITS EMPLOYING ACTIVE ELEMENTS WHICH OPERATE IN A NON-SWITCHING MANNER; GENERATION OF NOISE BY SUCH CIRCUITS
- H03B29/00—Generation of noise currents and voltages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Предлагаемый способ относится к области электротехники, в частности к способу моделирования канала связи для проверки модуля помехоустойчивого кодирования.The proposed method relates to the field of electrical engineering, in particular to a method for modeling a communication channel for testing a noise-resistant coding module.
Естественным путем реализации алгоритма помехоустойчивого кодирования является следующая последовательность действий.The natural way to implement the error-correcting coding algorithm is as follows.
1) Моделирование алгоритма на языке высокого уровня (C – C++, Matlab, Octave, SystemC, OpenCL), причем в целых числах.1) Modeling the algorithm in a high-level language (C - C ++, Matlab, Octave, SystemC, OpenCL), and in integers.
2) Реализация алгоритма на ПЛИС (программируемая логическая интегральная схема) [Стешенко В. Б. ПЛИС фирмы Altera: Проектирование устройств обработки сигнала, Москва 2000]. ПЛИС представляет собой набор логических элементов на плате и регистров, состоящих из двоичных чисел заданной разрядности, с возможностью их программно коммутировать. Первое отличие от реализации алгоритма на компьютере состоит в том, что разрядность каждого регистра может быть выбрана произвольно, и она не обусловлена разрядностью центрального процессора, которого нет. Второе отличие состоит в том, что все действия выполняют одновременно и параллельно, но на более низкой тактовой частоте чем в системе центральным процессором. Описание алгоритма в этом случае состоит из статического описания коммутации элементов и динамического описания их взаимодействия (VHDL, Verilog). Здесь уже помимо правильности реализации алгоритма возникают вопросы энергопотребления и физического быстродействия. На каждый структурный блок подается синхроимпульс, обеспечивающий его динамическое взаимодействие с остальными, причем сам элемент имеет емкость и/или индуктивность, коммутирующая линия также имеет активное и реактивное сопротивление, которое растет с размерами схемы, что вынуждает увеличивать напряжение питания с целью предотвратить “размывание” фронтов синхронизирующих импульсов. Все выше изложенные факторы ограничивают тактовую частоту ПЛИС 200 МГц. В настоящее время идут попытки использовать язык высокого уровня для программирования ПЛИС, это осложняется тем фактом, что языки высокого уровня не имеют средств для описания статических связей. Однако, есть библиотечные расширения (SystemC) над языком C/C++, которые позволяют моделировать системное поведение модели посредством описания интерфейсов, очередей, сигналов в статическом и динамическом виде, но подобное моделирование не учитывает реальные физические процессы в микросхеме. 2) Implementation of the algorithm on the FPGA (programmable logic integrated circuit) [Steshenko VB FPGA company Altera: Design of signal processing devices, Moscow 2000]. FPGA is a set of logic elements on the board and registers consisting of binary numbers of a given bit capacity, with the ability to commute them programmatically. The first difference from the implementation of the algorithm on a computer is that the capacity of each register can be arbitrarily selected, and it is not caused by the capacity of the central processor, which is not there. The second difference is that all actions are performed simultaneously and in parallel, but at a lower clock frequency than in the system by the central processor. The description of the algorithm in this case consists of a static description of the switching of elements and a dynamic description of their interaction (VHDL, Verilog). Here, in addition to the correct implementation of the algorithm, questions of energy consumption and physical performance arise. A synchronization pulse is supplied to each structural block, ensuring its dynamic interaction with the others, the element itself having a capacitance and / or inductance, the switching line also has an active and reactive resistance that grows with the dimensions of the circuit, which forces the supply voltage to increase in order to prevent “erosion” fronts of synchronizing pulses. All of the above factors limit the FPGA clock frequency of 200 MHz. Currently, there are attempts to use a high-level language for programming FPGAs, this is complicated by the fact that high-level languages do not have the means to describe static links. However, there are library extensions (SystemC) over the C / C ++ language that allow you to model the system behavior of the model by describing the interfaces, queues, signals in a static and dynamic form, but such a simulation does not take into account the real physical processes in the chip.
Верификация разрабатываемых алгоритмов достигается за счет последовательного применения тестовых векторов, разработанных на предыдущих стадиях. Тестовый вектор может являться оцифрованной смесью сигнала и шума, бинарной конфигурацией ошибок с заданными свойствами, любым набором тестовых значений, который, будучи поданными на вход разрабатываемого устройства или элемента этого устройства, вызовет предсказанную (на предыдущей стадии) реакцию. Хотелось бы отметить, что алгоритмы помехоустойчивого кодирования исправляют все ошибки, в том числе ошибки разработчика и программиста, поэтому часть тестов не связанная с моделированием Монте-Карло в белом гауссовском шуме, может быть пройдена успешно и при наличии ошибок в реализации. Полную верификацию обеспечивают статистически достоверное моделирование на ПЛИС по методу Монте Карло в канале, где аддитивной помехой является белый гауссовский шум (БГШ). Поэтому весьма актуальной является задача разработки компонентов такой модели, в частности генератора белого гауссовского шума в целых числах для реализации его на ПЛИС. Verification of the developed algorithms is achieved through the consistent use of test vectors developed in the previous stages. A test vector can be a digitized mixture of signal and noise, a binary configuration of errors with specified properties, any set of test values that, when applied to the input of a device being developed or an element of this device, will cause a predicted (at the previous stage) reaction. I would like to note that error-correcting coding algorithms correct all errors, including those of the developer and programmer, so some tests that are not related to Monte Carlo simulations in white Gaussian noise can be successfully completed even if there are errors in the implementation. Complete verification is provided by statistically reliable FPGA simulation using the Monte Carlo method in a channel where the additive interference is white Gaussian noise (BSS). Therefore, the urgent task is to develop the components of such a model, in particular, a white Gaussian noise generator in integers for its implementation on the FPGA.
Известные алгоритмы такие Бокса-Мюллера [G. E. P. Box and M. E. Muller, “A note on the generation of randomnormal deviates,” Ann. Math. Stat., vol. 29, pp. 610–61, 1958.] и полярный [Marsaglia, G.; Bray, T. A. (1964). "A Convenient Method for Generating Normal Variables". SIAM Review. 6 (3): 260–264. doi:10.1137/1006063. JSTOR 2027592., D. E. Knuth, The Art of Computer Programming, Volume 2: Seminumerical Algorithms (second edition). Addison-Wesley, Menlo Park, 1981.] требуют вычисления функций log, sin, cos, что является сложной задачей для реализации в целочисленной арифметике. Уоллес предложил свой метод [C. S. Wallace "Fast Pseudorandom Generators for Normal and Exponential Variates", ACM Transactions on Mathematical Software, Vol. 22, No 1, March 1996, Pages 119-127] не требовавший вычислений с плавающей точкой, по крайней мере на каждом такте. Well-known algorithms are Box-Muller [G. E. P. Box and M. E. Muller, “A note on the generation of randomnormal deviates,” Ann. Math. Stat., Vol. 29, pp. 610–61, 1958.] and polar [Marsaglia, G .; Bray, T. A. (1964). "A Convenient Method for Generating Normal Variables." SIAM Review. 6 (3): 260–264. doi: 10.1137 / 1006063. JSTOR 2027592., D. E. Knuth, The Art of Computer Programming, Volume 2: Seminumerical Algorithms (second edition). Addison-Wesley, Menlo Park, 1981.] require the calculation of the functions log, sin, cos, which is a difficult task to implement in integer arithmetic. Wallace proposed his method [C. S. Wallace "Fast Pseudorandom Generators for Normal and Exponential Variates", ACM Transactions on Mathematical Software, Vol. 22, No. 1, March 1996, Pages 119-127] that did not require floating-point calculations, at least at every measure.
Способ Уоллеса состоит в следующем:Wallace's method is as follows:
• заранее заполняют массив из
• формируют
• для
• вычисляют корректирующий множитель, используя последний элемент из нового массива, умножают на корректирующий нормирующий множитель на
В дальнейшем алгоритм для улучшения статистических свойств, в частности снижения корреляции между отсчетами претерпел ряд изменений. In the future, the algorithm for improving statistical properties, in particular, to reduce the correlation between samples, underwent a number of changes.
Аналогом является китайская заявка Gaussian white noise generator based FPGA CN201810037910.5A, CN108390648A приоритет 2018/01/16 опубликована 2018/08/10, где приведен генератор белого гауссовского шума, реализованный по алгоритму Уоллеса [C. S. Wallace, Fast Pseudo-Random Generators for Normal and Exponential Variates, ACM Trans. on Mathematical Software 22 (1996), 119–127]. An analogue is the Chinese application Gaussian white noise generator based FPGA CN201810037910.5A, CN108390648A priority 2018/01/16 published on 2018/08/10, where a white Gaussian noise generator implemented by the Wallace algorithm is given [C. S. Wallace, Fast Pseudo-Random Generators for Normal and Exponential Variates, ACM Trans. on Mathematical Software 22 (1996), 119–127].
Способ, реализованный в данном устройстве отличается от способа из статьи [Dong-U Lee, Wayne Luk, John D. Villasenor, Guanglie Zhang, Philip H. W. Leong "A Hardware Gaussian Noise Generator Using the Wallace Method" IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 13, NO. 8, AUGUST 2005] тем, что:The method implemented in this device differs from the method from [Dong-U Lee, Wayne Luk, John D. Villasenor, Guanglie Zhang, Philip HW Leong "A Hardware Gaussian Noise Generator Using the Wallace Method" IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION ( VLSI) SYSTEMS, VOL. 13, NO. 8, AUGUST 2005] in that:
• взят другой генератор равномерных случайных величин (более простой);• another generator of uniform random variables (simpler) was taken;
• адреса вычисляют по формулам:• addresses are calculated by the formulas:
Вычисление каждого из адресов займет не больше такта, так как в случае
Наиболее близким к заявляемому является способ, описанный в [Dong-U Lee, Wayne Luk, John D. Villasenor, Guanglie Zhang, Philip H. W. Leong "A Hardware Gaussian Noise Generator Using the Wallace Method" IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 13, NO. 8, AUGUST 2005], принятый за прототип.Closest to the claimed is the method described in [Dong-U Lee, Wayne Luk, John D. Villasenor, Guanglie Zhang, Philip HW Leong "A Hardware Gaussian Noise Generator Using the Wallace Method" IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 13, NO. 8, AUGUST 2005] adopted as a prototype.
Способ-прототип состоит в следующем:The prototype method is as follows:
• заранее заполняют массив из
• каждый такт, используя 32 битный отсчет генератора равномерных случайных чисел, формируют два 10-разрядных числа:
• в каждый такт формируют 4 адреса: • 4 addresses are formed in each clock cycle:
• считывают по сформированным адресам отсчеты
• где
матрицы
• полученные отсчеты
• также отсчеты
• каждые
Необходимость корректирующего множителя обусловлена тем, что в случае его отсутствия, сумма квадратов каждых
Рассмотрим работу блока ортогонального линейного преобразования. Легко видеть, что отсчеты
Нетрудно видеть, что
Рассмотрим работу блока формирования адресов. Операция суммы с последующим сложением результата по модулю 2 является быстрой операцией, которая может быть выполнена за один такт. Также быстрой является операция умножение на 2, которая, по сути, является битовым сдвигом или перекомпоновкой бит и не требует временных затрат. Однако операция умножения на 3 занимает целый такт и может быть выполнена как сумма
Задачу упрощения и повышения быстродействия способа, в частности балансировки вычислений в блоке формирования адреса решает способ аналог [Чен Ён Gaussian white noise generator based FPGA CN201810037910.5A, CN108390648A], однако, при этом адреса формируют иным способом, чем в способе прототипе, что может вызвать ухудшение статистических свойств результирующей последовательности отсчетов белого гауссовского шума. The task of simplifying and improving the speed of the method, in particular, balancing the calculations in the address generation unit, is solved by the analogue method [Chen Yong Gaussian white noise generator based FPGA CN201810037910.5A, CN108390648A], however, the addresses are formed in a different way than in the prototype method, which may cause deterioration of the statistical properties of the resulting sequence of samples of white Gaussian noise.
Наиболее используемой в настоящее время является двухпортовая память, которая позволяет получить доступ для записи или чтения одновременно к двум адресам. Однако известны разработки [Kevin R. Townsend, Osama G. Attia, Phillip H. Jones, and Joseph Zambreno "A Scalable Unsegmented Multiport Memory for FPGA-Based Systems", International Journal of Reconfigurable Computing Volume 2015, Article ID 826283, 12 pages], позволяющие организовать эффективный многопортовый доступ к памяти. Таким образом, видно, что эффективность и быстродействие генератора цифрового белого шума может быть значительно повышена за счет балансировки вычислений и применения многопортовой памяти.The most used at present is dual-port memory, which allows you to access to write or read simultaneously to two addresses. However, developments are known [Kevin R. Townsend, Osama G. Attia, Phillip H. Jones, and Joseph Zambreno "A Scalable Unsegmented Multiport Memory for FPGA-Based Systems", International Journal of Reconfigurable Computing Volume 2015, Article ID 826283, 12 pages] allowing to organize effective multiport memory access. Thus, it is seen that the efficiency and speed of the digital white noise generator can be significantly improved due to the balancing of calculations and the use of multiport memory.
Задача, на решение которой направлено заявляемое техническое решение – повышение эффективности испытания радиоэлектронной аппаратуры, в частности, системы моделирования помехоустойчивых кодов.The problem to which the claimed technical solution is directed is to increase the efficiency of testing electronic equipment, in particular, a system for modeling noise-resistant codes.
Для решения поставленной задачи в способе формирования отсчетов цифрового белого гауссовского шума, заключающемся в том, что заполняют массив из
путем выполнения следующих операций:by performing the following operations:
полученные отсчеты
согласно изобретению, формируют однобитный сигнал
при этом если
Заявляемый способ решает техническую задачу повышения быстродействия за счет балансирования вычислений в блоке формирования адресов, не изменяя при этом исходного алгоритма без ухудшения статистических свойств результирующей последовательности отсчетов белого гауссовского шума.The inventive method solves the technical problem of improving performance by balancing the calculations in the address generation unit, without changing the original algorithm without degrading the statistical properties of the resulting sequence of white Gaussian noise samples.
Графические материалы, используемые в описании:Graphic materials used in the description:
фиг. 1 – схема устройства, реализующего заявляемый способ;FIG. 1 is a diagram of a device that implements the inventive method;
фиг. 2 – схема блока формирования адреса.FIG. 2 is a diagram of an address generating unit.
Заявляемый способ заключается в следующем.The inventive method is as follows.
Заполняют массив из
каждый такт, используя 32-разрядный отсчет генератора равномерных случайных чисел, формируют два 10-разрядные числа:
каждый такт формируют 4 адреса: Each cycle is formed by 4 addresses:
считывают по сформированным адресам отсчеты
путем выполнения следующих операций:by performing the following operations:
если
полученные отсчеты
отсчеты
каждые
Новыми отличительными признаками способа являются:New distinctive features of the method are:
-формирование однобитного сигнал
-если
-формирование четырех адресов по формулам:-formation of four addresses according to the formulas:
Устройство, реализующее заявляемый способ, представлено на фиг. 1, где обозначено:A device implementing the inventive method is shown in FIG. 1, where indicated:
1 – генератор равномерных случайных чисел (ГРСЧ);1 - generator of uniform random numbers (HRGS);
2 – мультиплексор;2 - multiplexer;
3 – блок формирования адресов (БФА);3 - block formation of addresses (BFA);
4 – блок памяти;4 - memory block;
5 – блок инициализации;5 - initialization block;
6 – блок ортогонального преобразования;6 - block orthogonal transformation;
7 – блок коррекции.7 - block correction.
Устройство содержит последовательно соединенные генератор равномерных случайных чисел 1 и мультиплексор 2, три выхода которого соединены с соответствующими входами блока формирования адресов 3 и соответствуют сигналам
На фиг. 2 представлена схема блока формирования адресов, где обозначено:In FIG. 2 is a diagram of the address generation unit, where it is indicated:
3.1 – узел сдвига;3.1 - shift node;
3.2 – вычитатель;3.2 - subtractor;
3.3, 3.4 – первый и второй сумматоры;3.3, 3.4 - the first and second adders;
3.5, 3.6, 3.7, 3.8 – первый, второй, третий и четвертый узлы "исключающее или".3.5, 3.6, 3.7, 3.8 - the first, second, third and fourth nodes are exclusive or.
Блок формирования адресов 3 содержит узел сдвига 1, вычитатель 3.2, первый 3.3 и второй 3.4 сумматоры, а также первый 3.5, второй 3.6, третий 3.7 и четвертый 3.8 узлы "исключающее или". При этом вход узла сдвига 1, первые входы вычитателя 3.2 и первого сумматора 3.3 объединены и являются вторым входом блока формирования адресов 3 и соответствуют сигналу
Устройство, реализующее предлагаемый способ работает следующим образом. В генераторе равномерных случайных чисел (ГРСЧ) 1 формируют 32-разрядное равномерное случайное число из которого в мультиплексоре 2 формируют два 10-разрядных сигнала:
по которым проводят считывание отсчетов
а также изменяют знак
где после каждых
Технический результат заключается в увеличении быстродействия способа и достигается за счет балансировки вычислений в блоке формирования адресов 6, для чего предлагается формировать псевдослучайные адреса следующим образом:The technical result consists in increasing the speed of the method and is achieved by balancing the calculations in the address generation unit 6, for which it is proposed to generate pseudo-random addresses as follows:
Операция вычитания эквивалентна операции сложения при использовании двоично-дополнительного кода, и в совокупности занимает также один такт. Таким образом, все 4 случайные адреса могут быть получены за один такт и переданы на блок памяти. Следует отметить, что вычитание здесь выполняют по модулю
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019130892A RU2723271C1 (en) | 2019-10-01 | 2019-10-01 | Method for generation of digital white gaussian noise using the wallace method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019130892A RU2723271C1 (en) | 2019-10-01 | 2019-10-01 | Method for generation of digital white gaussian noise using the wallace method |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2723271C1 true RU2723271C1 (en) | 2020-06-09 |
Family
ID=71067353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2019130892A RU2723271C1 (en) | 2019-10-01 | 2019-10-01 | Method for generation of digital white gaussian noise using the wallace method |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2723271C1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1234834A1 (en) * | 1984-11-23 | 1986-05-30 | Институт Технической Кибернетики Ан Бсср | Gaussian random process generator |
CN101888209A (en) * | 2010-07-23 | 2010-11-17 | 上海交通大学 | Gaussian white noise generator based on FPGA (Field Programmable Gate Array) |
CN106774624A (en) * | 2016-11-24 | 2017-05-31 | 北京理工大学 | A kind of Parallel Implementation method of real-time white Gaussian noise hardware generator |
CN108390648A (en) * | 2018-01-16 | 2018-08-10 | 四川安迪科技实业有限公司 | A kind of Gaussian white noise generator based on FPGA |
-
2019
- 2019-10-01 RU RU2019130892A patent/RU2723271C1/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1234834A1 (en) * | 1984-11-23 | 1986-05-30 | Институт Технической Кибернетики Ан Бсср | Gaussian random process generator |
CN101888209A (en) * | 2010-07-23 | 2010-11-17 | 上海交通大学 | Gaussian white noise generator based on FPGA (Field Programmable Gate Array) |
CN106774624A (en) * | 2016-11-24 | 2017-05-31 | 北京理工大学 | A kind of Parallel Implementation method of real-time white Gaussian noise hardware generator |
CN108390648A (en) * | 2018-01-16 | 2018-08-10 | 四川安迪科技实业有限公司 | A kind of Gaussian white noise generator based on FPGA |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | A hardware Gaussian noise generator using the Wallace method | |
Thomas et al. | A comparison of CPUs, GPUs, FPGAs, and massively parallel processor arrays for random number generation | |
Bakiri et al. | Survey on hardware implementation of random number generators on FPGA: Theory and experimental analyses | |
Li et al. | Logical computation on stochastic bit streams with linear finite-state machines | |
Thomas et al. | Fpga-optimised uniform random number generators using luts and shift registers | |
Radecka et al. | Arithmetic built-in self-test for DSP cores | |
Liu et al. | The implementation of the improved OMP for AIC reconstruction based on parallel index selection | |
Widynski | Middle-square weyl sequence rng | |
Panda et al. | Design and FPGA prototype of 1024-bit Blum-Blum-Shub PRBG architecture | |
Cardoso et al. | A new PRNG hardware architecture based on an exponential chaotic map | |
RU2723271C1 (en) | Method for generation of digital white gaussian noise using the wallace method | |
CN113377335A (en) | Pseudo-random number generator, pseudo-random number generation method and processor chip | |
Li et al. | Software/hardware parallel long-period random number generation framework based on the well method | |
RU2723272C1 (en) | Digital white gaussian noise generator by wallace method | |
Zhang et al. | Easymac: Design exploration-enabled multiplier-accumulator generator using a canonical architectural representation | |
Rayudu et al. | Design and testing of systolic array multiplier using fault injecting schemes | |
Voyiatzis et al. | Recursive pseudo-exhaustive two-pattern generation | |
Baker et al. | Impact of autocorrelation on stochastic circuit accuracy | |
Addabbo et al. | Efficient implementation of pseudochaotic piecewise linear maps with high digitization accuracies | |
Hanlon et al. | A fast hardware pseudorandom number generator based on xoroshiro128 | |
Abdellatef et al. | Characterization of correlation in stochastic computing functions | |
US20240020566A1 (en) | On-chip quantum computers based on classical synthesizable digital circuits | |
Tisserand | Arithmetic for Crypto in FPGA: HDL or HLS? | |
Barash et al. | Employing AVX vectorization to improve the performance of random number generators | |
Tisserand | High-Level Synthesis for Hardware Implementation of Cryptography: Experience Feedback |