Examples under vhdl.
Run all examples, which have assertions in them:
cd vhdl
./run
Files:
- Examples
- Basic
- vhdl/hello_world_tb.vhdl: hello world
- vhdl/min_tb.vhdl: min
- vhdl/assert_tb.vhdl: assert
- Lexer
- vhdl/comments_tb.vhdl: comments
- vhdl/case_insensitive_tb.vhdl: case insensitive
- vhdl/whitespace_tb.vhdl: whitespace
- vhdl/literals_tb.vhdl: literals
- Flow control
- vhdl/procedure_tb.vhdl: procedure
- vhdl/function_tb.vhdl: function
- vhdl/operators_tb.vhdl: operators
- Types
- vhdl/integer_types_tb.vhdl: integer types
- vhdl/array_tb.vhdl: array
- vhdl/record_tb.vhdl.bak: record. TODO fails with "GHDL Bug occurred" on GHDL 1.0.0
- vhdl/generic_tb.vhdl: generic
- vhdl/package_test_tb.vhdl: Packages
- vhdl/standard_package_tb.vhdl: standard package
- textio
* vhdl/write_tb.vhdl: write
* vhdl/read_tb.vhdl: read - vhdl/std_logic_tb.vhdl: std_logic
- vhdl/stop_delta_tb.vhdl:
--stop-delta
- Basic
- Applications
- Combinatoric
- vhdl/adder.vhdl: adder
- vhdl/sqrt8_tb.vhdl: sqrt8
- Sequential
- vhdl/clock_tb.vhdl: clock
- vhdl/counter.vhdl: counter
- Combinatoric
- Helpers
* vhdl/template_tb.vhdl: template
One very good thing about this is that it makes it easy to create test cases directly in C++. You just supply inputs and clock the simulation directly in a C++ loop, then read outputs and assert them with
assert()
. And you can inspect variables by printing them or with GDB. This is infinitely more convenient than doing these IO-type tasks in Verilog itself.Some simulation examples under verilog.
First install Verilator. On Ubuntu:Tested on Verilator 4.038, Ubuntu 22.04.
sudo apt install verilator
Run all examples, which have assertions in them:
cd verilator
make run
File structure is for example:
- verilog/counter.v: Verilog file
- verilog/counter.cpp: C++ loop which clocks the design and runs tests with assertions on the outputs
- verilog/counter.params: gcc compilation flags for this example
- verilog/counter_tb.v: Verilog version of the C++ test. Not used by Verilator. Verilator can't actually run out
_tb
files, because they do in Verilog IO things that we do better from C++ in Verilator, so Verilator didn't bother implementing them. This is a good thing.
Example list:
- verilog/negator.v, verilog/negator.cpp: the simplest non-identity combinatorial circuit!
- verilog/counter.v, verilog/counter.cpp: sequential hello world. Synchronous active high reset with active high enable signal. Adapted from: www.asic-world.com/verilog/first1.html
- verilog/subleq.v, verilog/subleq.cpp: subleq one instruction set computer with separated instruction and data RAMs
Most of the helium in the Earth's atmosphere comes from alpha decay, since helium is lighter than air and naturally escapes out out of the atmosphere.
Wiki mentions that alpha decay is well modelled as a quantum tunnelling event, see also Geiger-Nuttall law.
As a result of that law, alpha particles have relatively little energy variation around 5 MeV or a speed of about 5% of the speed of light for any element, because the energy is inversely exponentially proportional to half-life. This is because:
- if the energy is much larger, decay is very fast and we don't have time to study the isotope
- if the energy is much smaller, decay is very rare and we don't have enough events to observe at all
Happened on P14s on Ubuntu 23.10, which started with fresh Ubuntu 23.10 install.
However it did not happen on Lenovo ThinkPad P51 (2017) also on Ubuntu 23.10 which had been upgraded several times from God knows what starting point... At first one had X11 (forced by Nvidia drivers) and the other Wayland, but moving to p14s X11 changed nothing.
Both were running GNOME Display Manager.
Same happens with Super + L, but also CLI commands: askubuntu.com/questions/7776/how-do-i-lock-the-desktop-screen-via-command-line
Bibliography:
- askubuntu.com/questions/1242110/after-upgrading-to-ubuntu-20-04-lockscreen-not-working canon
- askubuntu.com/questions/1246622/ubuntu-20-04-unable-to-lock-screen
- askubuntu.com/questions/1245071/cant-lock-screen-with-shortcut-on-ubuntu-20-04-gnome
- askubuntu.com/questions/1248756/super-l-not-working-on-ubuntu-20-04
- 2008-08-18: bitcoin.org registered
- 2008-10-31: first public announcement at www.metzdowd.com/pipermail/cryptography/2008-October/014810.html by satoshi@vistomail.com
- 2009-01-03: Genesis block mined
- 2009-01-11: First block not mined by Satoshi
- 2009-01-12: First Bitcoin transactoin
- 2010-05-18: the first of Laszlo's pizzas at about $0.0045 / BTC
- 2010-07-17: first trade happes on Mt. Gox at $0.04951 / BTC: cryptopotato.com/10-years-ago-first-bitcoin-trade-on-mt-gox-for-0-05-per-btc/
- 2014: OP_RETURN goes live
Crate solid color image in ImageMagick by Ciro Santilli 35 Updated 2024-12-23 +Created 1970-01-01
convert -size 512x512 xc:blue blue.png
Most/all commands have the
-V
option which prints the version, e.g.:bsub -V
Project Gutenberg remove line breaks by Ciro Santilli 35 Updated 2024-12-23 +Created 1970-01-01
Their txt formats are so crap!
E.g. for;a good one is:
wget -O pap.txt https://www.gutenberg.org/ebooks/1342.txt.utf-8
perl -0777 -pe 's/(?<!\r\n)\r\n(?!\r\n)( +)?/ /g' pap.txt
The
( +)?
is for the endlessly many quoted letters they have, which use four leading spaces per line as a quote marker.Conda is like pip, except that it also manages shared library dependencies, including providing prebuilts.
This has made Conda very popular in the deep learning community around 2020, where using Python frontends like PyTorch to configure faster precompiled backends was extremelly common.
There are unlisted articles, also show them or only show them.