DSC 1
DSC 1
Discussion 1
01/26/2018
Hi
Arya Reais-Parsi
[email protected]
http://www.ni.com/white-paper/6983/en/
http://ece-research.unm.edu/jimp/vlsiII/labs/layout_lecture-1.gif
Use standard cells, SRAM, custom analog Use LUTs, block RAM, on-die IP cores
circuits
$$$ Blockchain $$$
Bitcoin mining platform progression
1. Software
2. GPU
3. FPGA
4. ASIC
Why? https://www.bitcoinmining.com/images/usb-bitcoin-miner-gekko-science.jpg
ASIC vs FPGA
Ali Moin
ASIC FPGA
Use standard cells, SRAM, custom analog Use LUTs, block RAM, on-die IP cores
Jobs at chip companies and big tech players Wide range of jobs both in EE fields and outside
(Google, FB, Apple)
1. Structural Verilog
● Describe the schematic in text format
2. Behavioral Verilog
● Describe the desired functionality
● Two assignment types:
○ Continuous assignments (assign …)
○ Non-continuous assignments (always @(…))
Sequential Logic
Combinational Sequential
event driven
Blocking vs. non-blocking assignment
Blocking (=): evaluation and assignment are immediate; sequence matters. Value
of expressions at that point in the description matters.
always @(*) begin
x = a | b; // 1. evaluate a|b, assign result to x
y = a ^ b ^ c; // 2. evaluate a^b^c, assign result to y
z = b & ~c; // 3. evaluate b&(~c), assign result to z
end
Non-blocking (<=): all assignments deferred to end of simulation time step after all
right-hand expressions have been evaluated.
endmodule endmodule