- 1
- 2
- 3
- 4
wire tsun = clk | (~dere);
wire dere = clk | (~tsun);
always @(posedge clk) rnd <= dere;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
wire tsun = clk | (~dere);
wire dere = clk | (~tsun);
always @(posedge clk) rnd <= dere;
Интересно, будет ли этот код работать как TRNG?
P.S. Узнаем на выходных, когда приедет Циклоняшка.
1024-- 25.01.2016 22:28 # +4
bormand 25.01.2016 22:32 # +2
1024-- 25.01.2016 22:35 # +2
циклоняшка
bormand 25.01.2016 22:37 # 0
bormand 25.01.2016 22:41 # 0
bormand 25.01.2016 22:39 # +1
bormand 26.01.2016 20:12 # +1
laMer007 26.01.2016 23:41 # +2
Вот схематехники то любят зацикливать вход на выход тригеров друг на друга и брат жив
inkanus-gray 27.01.2016 01:17 # +3
Кто-то скажет, что output = 0 при любом входе? Как бы не так!
В реальной схеме инвертор переключается с задержкой (пусть в примере это будет наносекунда). Тогда после смены низкого входного сигнала на высокий в течение 1 нс на выходе будет 1 AND 1 = 1 и только спустя 1 нс появится 1 AND 0 = 0.
Аналогичный выброс напряжения можно поймать и в схеме output = input OR NOT input, но только на переходе с высокого уровня на низкий.
bormand 27.01.2016 06:17 # 0
bormand 27.01.2016 06:23 # +2
bormand 27.01.2016 06:40 # +2
bormand 27.01.2016 07:00 # +1
bormand 30.01.2016 11:30 # +2
Предлагают вместо этого юзать синхронную логику, чтобы получился аккуратный импульс длиной в 1 тик генератора, а не UB-иголка. Как-то так:
bormand 27.01.2016 06:20 # +1
Ага, UB для плиски. Подбрасываем RS триггер в нестабильное состояние и смотрим, на какую сторону упадёт...
bormand 30.01.2016 11:22 # +1