(no title)
aewens | 3 years ago
> FPGAs contain an array of programmable logic blocks, and a hierarchy of reconfigurable interconnects allowing blocks to be wired together. Logic blocks can be configured to perform complex combinational functions, or act as simple logic gates like AND and XOR. In most FPGAs, logic blocks also include memory elements, which may be simple flip-flops or more complete blocks of memory.[1] Many FPGAs can be reprogrammed to implement different logic functions, allowing flexible reconfigurable computing as performed in computer software.
The above being from the FPGA Wikipedia page[0].
So yes, it is done “in software”, but FPGAs is fancy hardware that can reprogrammed to act as new hardware on the fly using software. Many are implemented as PCI devices, so they could interact with the rest of the system over the PCI bus.
[0] https://en.m.wikipedia.org/wiki/Field-programmable_gate_arra...
bo1024|3 years ago
VLM|3 years ago
You can see in the UART code for example:
https://github.com/nyuichi/GAIA3/blob/master/hardware/Rx.vhd
file input_file : ft open READ_MODE is input_filename;
read(input_file, c);
data <= std_logic_vector(to_unsigned(character'pos(c), 8));
And so on and so forth, to pump a file on the simulation PC into a VHDL logic array one byte at a time as a simulation of a UART.
Would be pretty funny if the above is the "wrong" repo for the story, but it is at least "an implementation" of the GAIA architecture, if not "the implementation" from the story.