initial commit
159
README.md
@ -1,3 +1,158 @@
|
||||
# 4-bit-ALU
|
||||
# 4-Bit Arithmetic Logic Unit (ALU) & 8-Bit Multiplication
|
||||
|
||||
Contains 4-bit ALU & 8-bit Multiplier
|
||||
- This project was originally designed for TTL-based implementation but was estimated to require approximately 100 TTL chips.
|
||||
- Consequently, it is now being revisited for FPGA implementation using the Tang Primer 20k. The circuit also includes a 7-segment display and a 4511 TTL chip for BCD-to-7SD encoding.
|
||||
- Additionally, old and unused Verilog and Logisim files are being included in the repository.
|
||||
- Gowin Education v1.9.9.03 & Logisim Evolution v3.9.0
|
||||
|
||||
|
||||
## Circuit Design
|
||||
|
||||
- All bits are **unsigned**.
|
||||
- The circuit uses an 8-input DIP switch for **A** and **B**, a 3-input opcode selector, and a 1-bit CarryIn/BorrowIn input (depending on the opcode).
|
||||
- The BCD module employs a double dabble algorithm, but the 3rd and 4th bits in the 100s position are not enabled. As a result, the integer "400" cannot be displayed on the 7-segment display.
|
||||
- The opcode uses a 3-bit decoder with **one-hot encoding** for selection.
|
||||
- CarryOut/BorrowOut and Overflow are displayed using LEDs.
|
||||
|
||||

|
||||

|
||||
|
||||
### **Inputs:**
|
||||
|
||||
- **2-Bit Selector:** Determines which data is displayed on the screen.
|
||||
- **3-Bit OpCode:** Specifies the operation to be performed.
|
||||
- **4-Bit Input A:** The first operand.
|
||||
- **4-Bit Input B:** The second operand.
|
||||
- **1-Bit CarryIn/BorrowIn:** Input carry for arithmetic operations.
|
||||
|
||||
### **Outputs:**
|
||||
|
||||
- **11-Bit Result:** The ALU converts the binary result to BCD. This feature can be easily disabled if binary output is preferred.
|
||||
- **1-Bit CarryOut/BorrowOut:** Indicates carry or borrow in arithmetic operations.
|
||||
- **1-Bit Overflow:** Indicates an overflow condition during addition.
|
||||
|
||||
### Preview
|
||||
|
||||
<details>
|
||||
<summary>Click to expand and view media of the real-life circuit.</summary>
|
||||
|
||||
<details>
|
||||
<summary>opCode</summary>
|
||||
<video controls>
|
||||
<source src="media/opCode.mp4" type="video/mp4">
|
||||
</video>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>A&B Input</summary>
|
||||
A input
|
||||
|
||||

|
||||
B input
|
||||
|
||||

|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Logic Unit</summary>
|
||||
<details>
|
||||
<summary>AND Gate</summary>
|
||||
<video controls>
|
||||
<source src="media/and.mp4" type="video/mp4">
|
||||
</video>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>OR Gate</summary>
|
||||
<video controls>
|
||||
<source src="media/or.mp4" type="video/mp4">
|
||||
</video>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>XOR Gate</summary>
|
||||
<video controls>
|
||||
<source src="media/xor.mp4" type="video/mp4">
|
||||
</video>
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Arithmetic Unit</summary>
|
||||
|
||||
<details>
|
||||
<summary>Addition & Addition with CarryIN</summary>
|
||||
<video controls>
|
||||
<source src="media/additionCarryIN.mp4" type="video/mp4">
|
||||
</video>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Addition & Overflow and CarryOut led</summary>
|
||||
<video controls>
|
||||
<source src="media/overflow.mp4" type="video/mp4">
|
||||
</video>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Subtraction & BorrowOut Led</summary>
|
||||
<video controls>
|
||||
<source src="media/borrow.mp4" type="video/mp4">
|
||||
</video>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>8-2 with Borrow In</summary>
|
||||
<video controls>
|
||||
<source src="media/borrowin.mp4" type="video/mp4">
|
||||
</video>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Multiplication</summary>
|
||||
<video controls>
|
||||
<source src="media/multiplication.mp4" type="video/mp4">
|
||||
</video>
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## Screen Selector Table
|
||||
|
||||
The 2-bit screen selector determines what is displayed on the screen:
|
||||
|
||||
| **Screen Selector** | **Displayed Data** |
|
||||
| ------------------- | ------------------ |
|
||||
| 00 | Input A |
|
||||
| 01 | Input B |
|
||||
| 10 | opCode |
|
||||
| 11 | Result |
|
||||
|
||||
## Opcode Table
|
||||
|
||||
The table below describes the operations performed by the ALU based on the 3-bit opcode:
|
||||
|
||||
| **Opcode** | **Operation** | **Result Bits** | **Carry/Borrow In/Out Usage** |
|
||||
| ---------- | -------------- | :-------------: | :--------------------: |
|
||||
| 000 | Addition | 4 | ✅ |
|
||||
| 001 | Subtraction | 4 | ✅ |
|
||||
| 010 | Multiplication | 8 | ❌ |
|
||||
| 100 | AND | 4 | ❌ |
|
||||
| 101 | OR | 4 | ❌ |
|
||||
| 110 | XOR | 4 | ❌ |
|
||||
| 011 | ❌ | ❌ | ❌ |
|
||||
| 111 | ❌ | ❌ | ❌ |
|
||||
|
||||
<br><br>
|
||||
# Important NOTE!
|
||||
|
||||
## You are free to use this repository as you wish, **but please note that I am not actively maintaining it.** This repository was created for a specific project, and I would like to preserve the original code.
|
||||
<br>
|
||||
|
||||
## Credit
|
||||
|
||||
- [**BUR4KBEY**](https://github.com/BUR4KBEY): Honorable mention for resolving DIP switch assignments in the FloorPlanner(Gowin). Also for this readme template.
|
25
gowin/ALU/ALU.gprj
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1" encoding="UTF-8"?>
|
||||
<!DOCTYPE gowin-fpga-project>
|
||||
<Project>
|
||||
<Template>FPGA</Template>
|
||||
<Version>5</Version>
|
||||
<Device name="GW2A-18" pn="GW2A-LV18PG256C8/I7">gw2a18-002</Device>
|
||||
<FileList>
|
||||
<File path="src/ALU.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/BinaryToBCD.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/addition.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/arithmeticUnit.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/dabble.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/fulladder.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/fullsubtraction.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/halfadder.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/halfsubtraction.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/logicUnit.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/multiplier.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/opCode.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/selector.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/subtraction.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/top.v" type="file.verilog" enable="1"/>
|
||||
<File path="src/top.cst" type="file.cst" enable="1"/>
|
||||
</FileList>
|
||||
</Project>
|
27
gowin/ALU/ALU.gprj.user
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1" encoding="UTF-8"?>
|
||||
<!DOCTYPE ProjectUserData>
|
||||
<UserConfig>
|
||||
<Version>1.0</Version>
|
||||
<FlowState>
|
||||
<Process ID="Synthesis" State="2"/>
|
||||
<Process ID="Pnr" State="2"/>
|
||||
<Process ID="Gao" State="2"/>
|
||||
<Process ID="Rtl_Gao" State="2"/>
|
||||
<Process ID="Gvio" State="0"/>
|
||||
<Process ID="Place" State="2"/>
|
||||
</FlowState>
|
||||
<ResultFileList>
|
||||
<ResultFile ResultFileType="RES.netlist" ResultFilePath="impl/gwsynthesis/ALU.vg"/>
|
||||
<ResultFile ResultFileType="RES.pnr.bitstream" ResultFilePath="impl/pnr/ALU.fs"/>
|
||||
<ResultFile ResultFileType="RES.pnr.pin.rpt" ResultFilePath="impl/pnr/ALU.pin.html"/>
|
||||
<ResultFile ResultFileType="RES.pnr.posp.bin" ResultFilePath="impl/pnr/ALU.db"/>
|
||||
<ResultFile ResultFileType="RES.pnr.pwr.rpt" ResultFilePath="impl/pnr/ALU.power.html"/>
|
||||
<ResultFile ResultFileType="RES.pnr.report" ResultFilePath="impl/pnr/ALU.rpt.html"/>
|
||||
<ResultFile ResultFileType="RES.pnr.timing.paths" ResultFilePath="impl/pnr/ALU.timing_paths"/>
|
||||
<ResultFile ResultFileType="RES.pnr.timing.rpt" ResultFilePath="impl/pnr/ALU.tr.html"/>
|
||||
<ResultFile ResultFileType="RES.syn.report" ResultFilePath="impl/gwsynthesis/ALU_syn.rpt.html"/>
|
||||
<ResultFile ResultFileType="RES.syn.resource" ResultFilePath="impl/gwsynthesis/ALU_syn_rsc.xml"/>
|
||||
</ResultFileList>
|
||||
<Ui>000000ff00000001fd00000002000000000000018e0000025dfc0200000001fc000000370000025d0000009301000016fa000000000200000003fb00000030004600700067006100500072006f006a006500630074002e00500061006e0065006c002e00440065007300690067006e0100000000ffffffff0000006200fffffffb00000032004600700067006100500072006f006a006500630074002e00500061006e0065006c002e00500072006f00630065007300730100000000ffffffff0000005e00fffffffb00000036004600700067006100500072006f006a006500630074002e00500061006e0065006c002e0048006900650072006100720063006800790100000000ffffffff0000007c00ffffff000000030000078000000145fc0100000001fc0000000000000780000000a100fffffffa000000000100000002fb00000032004600700067006100500072006f006a006500630074002e00500061006e0065006c002e00470065006e006500720061006c0100000000ffffffff0000005100fffffffb0000002e004600700067006100500072006f006a006500630074002e00500061006e0065006c002e004900730073007500650100000000ffffffff000000a100ffffff000005ee0000025d00000004000000040000000800000008fc000000010000000200000004000000220043006f00720065002e0054006f006f006c006200610072002e00460069006c00650100000000ffffffff0000000000000000000000220043006f00720065002e0054006f006f006c006200610072002e004500640069007401000000adffffffff0000000000000000000000240043006f00720065002e0054006f006f006c006200610072002e0054006f006f006c0073010000017fffffffff0000000000000000000000280043006f00720065002e0054006f006f006c006200610072002e00500072006f00630065007300730100000245ffffffff0000000000000000</Ui>
|
||||
<FpUi></FpUi>
|
||||
</UserConfig>
|
130
gowin/ALU/impl/gwsynthesis/ALU.log
Normal file
@ -0,0 +1,130 @@
|
||||
GowinSynthesis start
|
||||
Running parser ...
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\addition.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\ALU.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\arithmeticUnit.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\dabble.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\fulladder.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\halfadder.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\halfsubtraction.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\logicUnit.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\multiplier.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\opCode.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\selector.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\subtraction.v'
|
||||
Analyzing Verilog file 'C:\Users\koray\Documents\gowin\ALU\src\top.v'
|
||||
Compiling module 'top'("C:\Users\koray\Documents\gowin\ALU\src\top.v":1)
|
||||
Compiling module 'ALU'("C:\Users\koray\Documents\gowin\ALU\src\ALU.v":1)
|
||||
Compiling module 'opCode'("C:\Users\koray\Documents\gowin\ALU\src\opCode.v":1)
|
||||
Compiling module 'arithmeticUnit'("C:\Users\koray\Documents\gowin\ALU\src\arithmeticUnit.v":1)
|
||||
Compiling module 'addition'("C:\Users\koray\Documents\gowin\ALU\src\addition.v":1)
|
||||
Compiling module 'fulladder'("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":1)
|
||||
Compiling module 'halfadder'("C:\Users\koray\Documents\gowin\ALU\src\halfadder.v":1)
|
||||
Compiling module 'subtraction'("C:\Users\koray\Documents\gowin\ALU\src\subtraction.v":1)
|
||||
Compiling module 'fullsubtraction'("C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v":1)
|
||||
Compiling module 'halfsubtraction'("C:\Users\koray\Documents\gowin\ALU\src\halfsubtraction.v":1)
|
||||
Compiling module 'logicUnit'("C:\Users\koray\Documents\gowin\ALU\src\logicUnit.v":1)
|
||||
Compiling module 'multiplier'("C:\Users\koray\Documents\gowin\ALU\src\multiplier.v":1)
|
||||
Compiling module 'BinaryToBCD'("C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v":1)
|
||||
Compiling module 'dabble'("C:\Users\koray\Documents\gowin\ALU\src\dabble.v":1)
|
||||
Compiling module 'selector'("C:\Users\koray\Documents\gowin\ALU\src\selector.v":1)
|
||||
NOTE (EX0101) : Current top module is "top"
|
||||
[5%] Running netlist conversion ...
|
||||
Running device independent optimization ...
|
||||
[10%] Optimizing Phase 0 completed
|
||||
[15%] Optimizing Phase 1 completed
|
||||
[25%] Optimizing Phase 2 completed
|
||||
Running inference ...
|
||||
[30%] Inferring Phase 0 completed
|
||||
[40%] Inferring Phase 1 completed
|
||||
[50%] Inferring Phase 2 completed
|
||||
[55%] Inferring Phase 3 completed
|
||||
Running technical mapping ...
|
||||
[60%] Tech-Mapping Phase 0 completed
|
||||
[65%] Tech-Mapping Phase 1 completed
|
||||
[75%] Tech-Mapping Phase 2 completed
|
||||
[80%] Tech-Mapping Phase 3 completed
|
||||
[90%] Tech-Mapping Phase 4 completed
|
||||
WARN (NL0002) : The module "ALU" instantiated to "a1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\top.v":13)
|
||||
WARN (NL0002) : The module "arithmeticUnit" instantiated to "aU" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\ALU.v":20)
|
||||
WARN (NL0002) : The module "addition" instantiated to "a1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\arithmeticUnit.v":13)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f0" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":11)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":12)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":13)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f3" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":14)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "subtraction" instantiated to "s1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\arithmeticUnit.v":14)
|
||||
WARN (NL0002) : The module "fullsubtraction" instantiated to "f0" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\subtraction.v":11)
|
||||
WARN (NL0002) : The module "halfsubtraction" instantiated to "hf1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v":8)
|
||||
WARN (NL0002) : The module "halfsubtraction" instantiated to "hf2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v":9)
|
||||
WARN (NL0002) : The module "fullsubtraction" instantiated to "f1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\subtraction.v":12)
|
||||
WARN (NL0002) : The module "halfsubtraction" instantiated to "hf1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v":8)
|
||||
WARN (NL0002) : The module "halfsubtraction" instantiated to "hf2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v":9)
|
||||
WARN (NL0002) : The module "fullsubtraction" instantiated to "f2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\subtraction.v":13)
|
||||
WARN (NL0002) : The module "halfsubtraction" instantiated to "hf1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v":8)
|
||||
WARN (NL0002) : The module "halfsubtraction" instantiated to "hf2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v":9)
|
||||
WARN (NL0002) : The module "fullsubtraction" instantiated to "f3" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\subtraction.v":14)
|
||||
WARN (NL0002) : The module "halfsubtraction" instantiated to "hf1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v":8)
|
||||
WARN (NL0002) : The module "halfsubtraction" instantiated to "hf2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v":9)
|
||||
WARN (NL0002) : The module "BinaryToBCD" instantiated to "btod1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\ALU.v":76)
|
||||
WARN (NL0002) : The module "dabble" instantiated to "d1t" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v":21)
|
||||
WARN (NL0002) : The module "dabble" instantiated to "d2u" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v":30)
|
||||
WARN (NL0002) : The module "dabble" instantiated to "d3v" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v":39)
|
||||
WARN (NL0002) : The module "dabble" instantiated to "d4w" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v":48)
|
||||
WARN (NL0002) : The module "dabble" instantiated to "d5x" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v":57)
|
||||
WARN (NL0002) : The module "dabble" instantiated to "d6y" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v":66)
|
||||
WARN (NL0002) : The module "dabble" instantiated to "d7z" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v":75)
|
||||
WARN (NL0002) : The module "logicUnit" instantiated to "lU" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\ALU.v":21)
|
||||
WARN (NL0002) : The module "multiplier" instantiated to "mU" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\ALU.v":22)
|
||||
WARN (NL0002) : The module "addition" instantiated to "add0" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\multiplier.v":33)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f0" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":11)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":12)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":13)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f3" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":14)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "addition" instantiated to "add1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\multiplier.v":49)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f0" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":11)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":12)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":13)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f3" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":14)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "addition" instantiated to "add2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\multiplier.v":65)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f0" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":11)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":12)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":13)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "fulladder" instantiated to "f3" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\addition.v":14)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h1" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":8)
|
||||
WARN (NL0002) : The module "halfadder" instantiated to "h2" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\fulladder.v":9)
|
||||
WARN (NL0002) : The module "opCode" instantiated to "opCd" is swept in optimizing("C:\Users\koray\Documents\gowin\ALU\src\ALU.v":18)
|
||||
[95%] Generate netlist file "C:\Users\koray\Documents\gowin\ALU\impl\gwsynthesis\ALU.vg" completed
|
||||
[100%] Generate report file "C:\Users\koray\Documents\gowin\ALU\impl\gwsynthesis\ALU_syn.rpt.html" completed
|
||||
GowinSynthesis finish
|
35
gowin/ALU/impl/gwsynthesis/ALU.prj
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE gowin-synthesis-project>
|
||||
<Project>
|
||||
<Version>beta</Version>
|
||||
<Device id="GW2A-18" package="PBGA256" speed="8" partNumber="GW2A-LV18PG256C8/I7"/>
|
||||
<FileList>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\addition.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\ALU.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\arithmeticUnit.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\dabble.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\fulladder.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\halfadder.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\halfsubtraction.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\logicUnit.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\multiplier.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\opCode.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\selector.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\subtraction.v" type="verilog"/>
|
||||
<File path="C:\Users\koray\Documents\gowin\ALU\src\top.v" type="verilog"/>
|
||||
</FileList>
|
||||
<OptionList>
|
||||
<Option type="disable_insert_pad" value="0"/>
|
||||
<Option type="global_freq" value="100.000"/>
|
||||
<Option type="looplimit" value="2000"/>
|
||||
<Option type="output_file" value="C:\Users\koray\Documents\gowin\ALU\impl\gwsynthesis\ALU.vg"/>
|
||||
<Option type="print_all_synthesis_warning" value="0"/>
|
||||
<Option type="ram_rw_check" value="0"/>
|
||||
<Option type="vcc" value="1.0"/>
|
||||
<Option type="vccx" value="3.3"/>
|
||||
<Option type="verilog_language" value="verilog-2001"/>
|
||||
<Option type="vhdl_language" value="vhdl-1993"/>
|
||||
</OptionList>
|
||||
</Project>
|
1397
gowin/ALU/impl/gwsynthesis/ALU.vg
Normal file
185
gowin/ALU/impl/gwsynthesis/ALU_syn.rpt.html
Normal file
@ -0,0 +1,185 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>synthesis Report</title>
|
||||
<style type="text/css">
|
||||
body { font-family: Verdana, Arial, sans-serif; font-size: 12px; }
|
||||
div#main_wrapper{ width: 100%; }
|
||||
div#content { margin-left: 350px; margin-right: 30px; }
|
||||
div#catalog_wrapper {position: fixed; top: 30px; width: 350px; float: left; }
|
||||
div#catalog ul { list-style-type: none; }
|
||||
div#catalog li { text-align: left; list-style-type:circle; color: #0084ff; margin-top: 3px; margin-bottom: 3px; }
|
||||
div#catalog a { display:inline-block; text-decoration: none; color: #0084ff; font-weight: bold; padding: 3px; }
|
||||
div#catalog a:visited { color: #0084ff; }
|
||||
div#catalog a:hover { color: #fff; background: #0084ff; }
|
||||
hr { margin-top: 30px; margin-bottom: 30px; }
|
||||
h1, h3 { text-align: center; }
|
||||
h1 {margin-top: 50px; }
|
||||
table, th, td { border: 1px solid #aaa; }
|
||||
table { border-collapse:collapse; margin-top: 10px; margin-bottom: 20px; width: 100%; }
|
||||
th, td { padding: 5px 5px 5px 5px; }
|
||||
th { color: #fff; font-weight: bold; background-color: #0084ff; }
|
||||
table.summary_table td.label { width: 24%; min-width: 200px; background-color: #dee8f4; }
|
||||
table.detail_table td.label { min-width: 100px; width: 8%;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="main_wrapper">
|
||||
<div id="catalog_wrapper">
|
||||
<div id="catalog">
|
||||
<ul>
|
||||
<li><a href="#about" style=" font-size: 16px;">Synthesis Messages</a></li>
|
||||
<li><a href="#summary" style=" font-size: 16px;">Synthesis Details</a></li>
|
||||
<li><a href="#resource" style=" font-size: 16px;">Resource</a>
|
||||
<ul>
|
||||
<li><a href="#usage" style=" font-size: 14px;">Resource Usage Summary</a></li>
|
||||
<li><a href="#utilization" style=" font-size: 14px;">Resource Utilization Summary</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- catalog -->
|
||||
</div><!-- catalog_wrapper -->
|
||||
<div id="content">
|
||||
<h1><a name="about">Synthesis Messages</a></h1>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<td class="label">Report Title</td>
|
||||
<td>GowinSynthesis Report</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Design File</td>
|
||||
<td>C:\Users\koray\Documents\gowin\ALU\src\addition.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\ALU.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\arithmeticUnit.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\BinaryToBCD.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\dabble.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\fulladder.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\fullsubtraction.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\halfadder.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\halfsubtraction.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\logicUnit.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\multiplier.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\opCode.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\selector.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\subtraction.v<br>
|
||||
C:\Users\koray\Documents\gowin\ALU\src\top.v<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">GowinSynthesis Constraints File</td>
|
||||
<td>---</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Tool Version</td>
|
||||
<td>V1.9.10.03 (64-bit)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Part Number</td>
|
||||
<td>GW2A-LV18PG256C8/I7</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Device</td>
|
||||
<td>GW2A-18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Created Time</td>
|
||||
<td>Thu Jan 23 05:43:09 2025
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Legal Announcement</td>
|
||||
<td>Copyright (C)2014-2024 Gowin Semiconductor Corporation. ALL rights reserved.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1><a name="summary">Synthesis Details</a></h1>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<td class="label">Top Level Module</td>
|
||||
<td>top</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Synthesis Process</td>
|
||||
<td>Running parser:<br/> CPU time = 0h 0m 0.093s, Elapsed time = 0h 0m 0.085s, Peak memory usage = 402.914MB<br/>Running netlist conversion:<br/> CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0s, Peak memory usage = 0MB<br/>Running device independent optimization:<br/> Optimizing Phase 0: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0.003s, Peak memory usage = 402.914MB<br/> Optimizing Phase 1: CPU time = 0h 0m 0.015s, Elapsed time = 0h 0m 0.001s, Peak memory usage = 402.914MB<br/> Optimizing Phase 2: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0.001s, Peak memory usage = 402.914MB<br/>Running inference:<br/> Inferring Phase 0: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0.001s, Peak memory usage = 402.914MB<br/> Inferring Phase 1: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0s, Peak memory usage = 402.914MB<br/> Inferring Phase 2: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0s, Peak memory usage = 402.914MB<br/> Inferring Phase 3: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0s, Peak memory usage = 402.914MB<br/>Running technical mapping:<br/> Tech-Mapping Phase 0: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0.002s, Peak memory usage = 402.914MB<br/> Tech-Mapping Phase 1: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0s, Peak memory usage = 402.914MB<br/> Tech-Mapping Phase 2: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0s, Peak memory usage = 402.914MB<br/> Tech-Mapping Phase 3: CPU time = 0h 0m 2s, Elapsed time = 0h 0m 2s, Peak memory usage = 402.914MB<br/> Tech-Mapping Phase 4: CPU time = 0h 0m 0.015s, Elapsed time = 0h 0m 0.004s, Peak memory usage = 402.914MB<br/>Generate output files:<br/> CPU time = 0h 0m 0.031s, Elapsed time = 0h 0m 0.013s, Peak memory usage = 402.914MB<br/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Total Time and Memory Usage</td>
|
||||
<td>CPU time = 0h 0m 2s, Elapsed time = 0h 0m 2s, Peak memory usage = 402.914MB</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1><a name="resource">Resource</a></h1>
|
||||
<h2><a name="usage">Resource Usage Summary</a></h2>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<td class="label"><b>Resource</b></td>
|
||||
<td><b>Usage</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><b>I/O Port </b></td>
|
||||
<td>28</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><b>I/O Buf </b></td>
|
||||
<td>28</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">    IBUF</td>
|
||||
<td>14</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">    OBUF</td>
|
||||
<td>14</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><b>LUT </b></td>
|
||||
<td>141</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">    LUT2</td>
|
||||
<td>16</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">    LUT3</td>
|
||||
<td>36</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">    LUT4</td>
|
||||
<td>89</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="utilization">Resource Utilization Summary</a></h2>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<td class="label"><b>Resource</b></td>
|
||||
<td><b>Usage</b></td>
|
||||
<td><b>Utilization</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Logic</td>
|
||||
<td>141(141 LUT, 0 ALU) / 20736</td>
|
||||
<td><1%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Register</td>
|
||||
<td>0 / 16173</td>
|
||||
<td>0%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">  --Register as Latch</td>
|
||||
<td>0 / 16173</td>
|
||||
<td>0%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">  --Register as FF</td>
|
||||
<td>0 / 16173</td>
|
||||
<td>0%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">BSRAM</td>
|
||||
<td>0 / 46</td>
|
||||
<td>0%</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><!-- content -->
|
||||
</div><!-- main_wrapper -->
|
||||
</body>
|
||||
</html>
|
56
gowin/ALU/impl/gwsynthesis/ALU_syn_resource.html
Normal file
@ -0,0 +1,56 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Hierarchy Module Resource</title>
|
||||
<style type="text/css">
|
||||
body { font-family: Verdana, Arial, sans-serif; font-size: 14px; }
|
||||
div#main_wrapper{ width: 100%; }
|
||||
h1 {text-align: center; }
|
||||
h1 {margin-top: 36px; }
|
||||
table, th, td { border: 1px solid #aaa; }
|
||||
table { border-collapse:collapse; margin-top: 10px; margin-bottom: 20px; width: 100%; }
|
||||
th, td { align = "center"; padding: 5px 2px 5px 5px; }
|
||||
th { color: #fff; font-weight: bold; background-color: #0084ff; }
|
||||
table td.label { width: 20%; white-space: nowrap; min-width: 20px; background-color: #dee8f4; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="main_wrapper">
|
||||
<div id="content">
|
||||
<h1>Hierarchy Module Resource</h1>
|
||||
<table>
|
||||
<tr>
|
||||
<th class="label">MODULE NAME</th>
|
||||
<th class="label">REG NUMBER</th>
|
||||
<th class="label">ALU NUMBER</th>
|
||||
<th class="label">LUT NUMBER</th>
|
||||
<th class="label">DSP NUMBER</th>
|
||||
<th class="label">BSRAM NUMBER</th>
|
||||
<th class="label">SSRAM NUMBER</th>
|
||||
<th class="label">ROM16 NUMBER</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">top (C:/Users/koray/Documents/gowin/ALU/src/top.v)</td>
|
||||
<td align = "center">-</td>
|
||||
<td align = "center">-</td>
|
||||
<td align = "center">13</td>
|
||||
<td align = "center">-</td>
|
||||
<td align = "center">-</td>
|
||||
<td align = "center">-</td>
|
||||
<td align = "center">-</td>
|
||||
</tr>
|
||||
<td class="label">    |--s1
|
||||
(C:/Users/koray/Documents/gowin/ALU/src/top.v)</td>
|
||||
<td align = "center">-</td>
|
||||
<td align = "center">-</td>
|
||||
<td align = "center">128</td>
|
||||
<td align = "center">-</td>
|
||||
<td align = "center">-</td>
|
||||
<td align = "center">-</td>
|
||||
<td align = "center">-</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><!-- content -->
|
||||
</div><!-- main_wrapper -->
|
||||
</body>
|
||||
</html>
|
4
gowin/ALU/impl/gwsynthesis/ALU_syn_rsc.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Module name="top" Lut="13" T_Lut="141(13)">
|
||||
<SubModule name="s1" Lut="128" T_Lut="128(128)"/>
|
||||
</Module>
|
BIN
gowin/ALU/impl/pnr/ALU.bin
Normal file
BIN
gowin/ALU/impl/pnr/ALU.binx
Normal file
BIN
gowin/ALU/impl/pnr/ALU.db
Normal file
1377
gowin/ALU/impl/pnr/ALU.fs
Normal file
29
gowin/ALU/impl/pnr/ALU.log
Normal file
@ -0,0 +1,29 @@
|
||||
Reading netlist file: "C:\Users\koray\Documents\gowin\ALU\impl\gwsynthesis\ALU.vg"
|
||||
Parsing netlist file "C:\Users\koray\Documents\gowin\ALU\impl\gwsynthesis\ALU.vg" completed
|
||||
Processing netlist completed
|
||||
Reading constraint file: "C:\Users\koray\Documents\gowin\ALU\src\top.cst"
|
||||
Physical Constraint parsed completed
|
||||
Running placement......
|
||||
[10%] Placement Phase 0 completed
|
||||
[20%] Placement Phase 1 completed
|
||||
[30%] Placement Phase 2 completed
|
||||
[50%] Placement Phase 3 completed
|
||||
Running routing......
|
||||
[60%] Routing Phase 0 completed
|
||||
[70%] Routing Phase 1 completed
|
||||
[80%] Routing Phase 2 completed
|
||||
[90%] Routing Phase 3 completed
|
||||
Running timing analysis......
|
||||
[95%] Timing analysis completed
|
||||
Placement and routing completed
|
||||
Bitstream generation in progress......
|
||||
Bitstream generation completed
|
||||
Running power analysis......
|
||||
[100%] Power analysis completed
|
||||
Generate file "C:\Users\koray\Documents\gowin\ALU\impl\pnr\ALU.power.html" completed
|
||||
Generate file "C:\Users\koray\Documents\gowin\ALU\impl\pnr\ALU.pin.html" completed
|
||||
Generate file "C:\Users\koray\Documents\gowin\ALU\impl\pnr\ALU.rpt.html" completed
|
||||
Generate file "C:\Users\koray\Documents\gowin\ALU\impl\pnr\ALU.rpt.txt" completed
|
||||
Generate file "C:\Users\koray\Documents\gowin\ALU\impl\pnr\ALU.tr.html" completed
|
||||
Thu Jan 23 05:43:13 2025
|
||||
|
3947
gowin/ALU/impl/pnr/ALU.pin.html
Normal file
265
gowin/ALU/impl/pnr/ALU.power.html
Normal file
@ -0,0 +1,265 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Power Analysis Report</title>
|
||||
<style type="text/css">
|
||||
body { font-family: Verdana, Arial, sans-serif; font-size: 12px; }
|
||||
div#main_wrapper { width: 100%; }
|
||||
div#content { margin-left: 350px; margin-right: 30px; }
|
||||
div#catalog_wrapper {position: fixed; top: 30px; width: 350px; float: left; }
|
||||
div#catalog ul { list-style-type: none; }
|
||||
div#catalog li { text-align: left; list-style-type:circle; color: #0084ff; margin-top: 3px; margin-bottom: 3px; }
|
||||
div#catalog a { display:inline-block; text-decoration: none; color: #0084ff; font-weight: bold; padding: 3px; }
|
||||
div#catalog a:visited { color: #0084ff; }
|
||||
div#catalog a:hover { color: #fff; background: #0084ff; }
|
||||
hr { margin-top: 30px; margin-bottom: 30px; }
|
||||
h1, h3 { text-align: center; }
|
||||
h1 {margin-top: 50px; }
|
||||
table, th, td {white-space:pre; border: 1px solid #aaa; }
|
||||
table { border-collapse:collapse; margin-top: 10px; margin-bottom: 20px; width: 100%; }
|
||||
th, td { padding: 5px 5px 5px 5px; }
|
||||
th { color: #fff; font-weight: bold; background-color: #0084ff; }
|
||||
table.summary_table td.label { width: 24%; min-width: 200px; background-color: #dee8f4; }
|
||||
table.thermal_table td.label { width: 24%; min-width: 200px; background-color: #dee8f4; }
|
||||
table.Configure_table td.label { width: 24%; min-width: 200px; background-color: #dee8f4; }
|
||||
table.detail_table th.label { min-width: 8%; width: 8%; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="main_wrapper">
|
||||
<div id="catalog_wrapper">
|
||||
<div id="catalog">
|
||||
<ul>
|
||||
<li><a href="#Message" style=" font-size: 16px;">Power Messages</a>
|
||||
<ul>
|
||||
<li><a href="#Configure_Info" style=" font-size: 14px;">Configure Information</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#Summary" style=" font-size: 16px;">Power Summary</a>
|
||||
<ul>
|
||||
<li><a href="#Power_Info" style=" font-size: 14px;">Power Information</a></li>
|
||||
<li><a href="#Thermal_Info" style=" font-size: 14px;">Thermal Information</a></li>
|
||||
<li><a href="#Supply_Summary" style=" font-size: 14px;">Supply Information</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#Detail" style=" font-size: 16px;">Power Details</a>
|
||||
<ul>
|
||||
<li><a href="#By_Block_Type" style=" font-size: 14px;">Power By Block Type</a></li>
|
||||
<li><a href="#By_Hierarchy" style=" font-size: 14px;">Power By Hierarchy</a></li>
|
||||
<li><a href="#By_Clock_Domain" style=" font-size: 14px;">Power By Clock Domain</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- catalog -->
|
||||
</div><!-- catalog_wrapper -->
|
||||
<div id="content">
|
||||
<h1><a name="Message">Power Messages</a></h1>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<td class="label">Report Title</td>
|
||||
<td>Power Analysis Report</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Design File</td>
|
||||
<td>C:\Users\koray\Documents\gowin\ALU\impl\gwsynthesis\ALU.vg</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Physical Constraints File</td>
|
||||
<td>C:\Users\koray\Documents\gowin\ALU\src\top.cst</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Timing Constraints File</td>
|
||||
<td>---</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Tool Version</td>
|
||||
<td>V1.9.10.03 (64-bit)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Part Number</td>
|
||||
<td>GW2A-LV18PG256C8/I7</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Device</td>
|
||||
<td>GW2A-18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Created Time</td>
|
||||
<td>Thu Jan 23 05:43:13 2025
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Legal Announcement</td>
|
||||
<td>Copyright (C)2014-2024 Gowin Semiconductor Corporation. All rights reserved.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="Configure_Info">Configure Information:</a></h2>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<td class="label">Grade</td>
|
||||
<td>Commercial</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Process</td>
|
||||
<td>Typical</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Ambient Temperature</td>
|
||||
<td>25.000
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Use Custom Theta JA</td>
|
||||
<td>false</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Heat Sink</td>
|
||||
<td>None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Air Flow</td>
|
||||
<td>LFM_0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Use Custom Theta SA</td>
|
||||
<td>false</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Board Thermal Model</td>
|
||||
<td>None</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Use Custom Theta JB</td>
|
||||
<td>false</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Related Vcd File</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Related Saif File</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Filter Glitches</td>
|
||||
<td>false</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Default IO Toggle Rate</td>
|
||||
<td>0.125</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Default Remain Toggle Rate</td>
|
||||
<td>0.125</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1><a name="Summary">Power Summary</a></h1>
|
||||
<h2><a name="Power_Info">Power Information:</a></h2>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<td class="label">Total Power (mW)</td>
|
||||
<td>124.522</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Quiescent Power (mW)</td>
|
||||
<td>121.169</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Dynamic Power (mW)</td>
|
||||
<td>3.353</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="Thermal_Info">Thermal Information:</a></h2>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<td class="label">Junction Temperature</td>
|
||||
<td>28.987</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Theta JA</td>
|
||||
<td>32.020</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Max Allowed Ambient Temperature</td>
|
||||
<td>81.013</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="Supply_Summary">Supply Information:</a></h2>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<th class="label">Voltage Source</th>
|
||||
<th class="label">Voltage</th>
|
||||
<th class="label">Dynamic Current(mA)</th>
|
||||
<th class="label">Quiescent Current(mA)</th>
|
||||
<th class="label">Power(mW)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>VCC</td>
|
||||
<td>1.000</td>
|
||||
<td>0.552</td>
|
||||
<td>69.981</td>
|
||||
<td>70.533</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>VCCX</td>
|
||||
<td>3.300</td>
|
||||
<td>0.552</td>
|
||||
<td>15.000</td>
|
||||
<td>51.322</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>VCCIO18</td>
|
||||
<td>1.800</td>
|
||||
<td>0.544</td>
|
||||
<td>0.938</td>
|
||||
<td>2.668</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1><a name="Detail">Power Details</a></h1>
|
||||
<h2><a name="By_Block_Type">Power By Block Type:</a></h2>
|
||||
<table class="detail_table">
|
||||
<tr>
|
||||
<th class="label">Block Type</th>
|
||||
<th class="label">Total Power(mW)</th>
|
||||
<th class="label">Static Power(mW)</th>
|
||||
<th class="label">Average Toggle Rate(millions of transitions/sec)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>IO</td>
|
||||
<td>8.544
|
||||
<td>5.191
|
||||
<td>6.250
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="By_Hierarchy">Power By Hierarchy:</a></h2>
|
||||
<table class="detail_table">
|
||||
<tr>
|
||||
<th class="label">Hierarchy Entity</th>
|
||||
<th class="label">Total Power(mW)</th>
|
||||
<th class="label">Block Dynamic Power(mW)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>top</td>
|
||||
<td>0.000</td>
|
||||
<td>0.000(0.000)</td>
|
||||
<tr>
|
||||
<td>top/s1/</td>
|
||||
<td>0.000</td>
|
||||
<td>0.000(0.000)</td>
|
||||
</table>
|
||||
<h2><a name="By_Clock_Domain">Power By Clock Domain:</a></h2>
|
||||
<table class="detail_table">
|
||||
<tr>
|
||||
<th class="label">Clock Domain</th>
|
||||
<th class="label">Clock Frequency(Mhz)</th>
|
||||
<th class="label">Total Dynamic Power(mW)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>NO CLOCK DOMAIN</td>
|
||||
<td>0.000</td>
|
||||
<td>0.000</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><!-- content -->
|
||||
</div><!-- main_wrapper -->
|
||||
</body>
|
||||
</html>
|
4131
gowin/ALU/impl/pnr/ALU.rpt.html
Normal file
351
gowin/ALU/impl/pnr/ALU.rpt.txt
Normal file
@ -0,0 +1,351 @@
|
||||
//Copyright (C)2014-2024 Gowin Semiconductor Corporation.
|
||||
//All rights reserved.
|
||||
|
||||
|
||||
1. PnR Messages
|
||||
|
||||
<Report Title>: PnR Report
|
||||
<Design File>: C:\Users\koray\Documents\gowin\ALU\impl\gwsynthesis\ALU.vg
|
||||
<Physical Constraints File>: C:\Users\koray\Documents\gowin\ALU\src\top.cst
|
||||
<Timing Constraints File>: ---
|
||||
<Tool Version>: V1.9.10.03 (64-bit)
|
||||
<Part Number>: GW2A-LV18PG256C8/I7
|
||||
<Device>: GW2A-18
|
||||
<Created Time>:Thu Jan 23 05:43:13 2025
|
||||
|
||||
|
||||
2. PnR Details
|
||||
|
||||
Running placement:
|
||||
Placement Phase 0: CPU time = 0h 0m 0.017s, Elapsed time = 0h 0m 0.017s
|
||||
Placement Phase 1: CPU time = 0h 0m 0.344s, Elapsed time = 0h 0m 0.344s
|
||||
Placement Phase 2: CPU time = 0h 0m 0.008s, Elapsed time = 0h 0m 0.008s
|
||||
Placement Phase 3: CPU time = 0h 0m 0.847s, Elapsed time = 0h 0m 0.847s
|
||||
Total Placement: CPU time = 0h 0m 1s, Elapsed time = 0h 0m 1s
|
||||
Running routing:
|
||||
Routing Phase 0: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0s
|
||||
Routing Phase 1: CPU time = 0h 0m 0.149s, Elapsed time = 0h 0m 0.149s
|
||||
Routing Phase 2: CPU time = 0h 0m 0.202s, Elapsed time = 0h 0m 0.202s
|
||||
Routing Phase 3: CPU time = 0h 0m 0s, Elapsed time = 0h 0m 0s
|
||||
Total Routing: CPU time = 0h 0m 0.351s, Elapsed time = 0h 0m 0.351s
|
||||
Generate output files:
|
||||
CPU time = 0h 0m 2s, Elapsed time = 0h 0m 2s
|
||||
|
||||
Total Time and Memory Usage: CPU time = 0h 0m 3s, Elapsed time = 0h 0m 3s, Peak memory usage = 444MB
|
||||
|
||||
|
||||
3. Resource Usage Summary
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Resources | Usage | Utilization
|
||||
--------------------------------------------------------------------------------
|
||||
Logic | 141/20736 | <1%
|
||||
--LUT,ALU,ROM16 | 141(141 LUT, 0 ALU, 0 ROM16) | -
|
||||
--SSRAM(RAM16) | 0 | -
|
||||
Register | 0/16173 | 0%
|
||||
--Logic Register as Latch | 0/15552 | 0%
|
||||
--Logic Register as FF | 0/15552 | 0%
|
||||
--I/O Register as Latch | 0/621 | 0%
|
||||
--I/O Register as FF | 0/621 | 0%
|
||||
CLS | 77/10368 | <1%
|
||||
I/O Port | 28/207 | 14%
|
||||
I/O Buf | 28 | -
|
||||
--Input Buf | 14 | -
|
||||
--Output Buf | 14 | -
|
||||
--Inout Buf | 0 | -
|
||||
================================================================================
|
||||
|
||||
|
||||
|
||||
4. I/O Bank Usage Summary
|
||||
|
||||
--------------------------------------
|
||||
I/O Bank | Usage | Utilization
|
||||
--------------------------------------
|
||||
bank 0 | 1/29 | 4%
|
||||
bank 1 | 5/20 | 25%
|
||||
bank 2 | 2/20 | 10%
|
||||
bank 3 | 8/32 | 25%
|
||||
bank 4 | 2/36 | 6%
|
||||
bank 5 | 0/36 | 0%
|
||||
bank 6 | 2/18 | 12%
|
||||
bank 7 | 8/16 | 50%
|
||||
======================================
|
||||
|
||||
|
||||
5. Clock Resource Usage Summary
|
||||
|
||||
------------------------------------------
|
||||
Clock Resource| Usage | Utilization
|
||||
------------------------------------------
|
||||
PRIMARY | 0/8 | 0%
|
||||
LW | 0/8 | 0%
|
||||
GCLK_PIN | 1/8 | 13%
|
||||
==========================================
|
||||
|
||||
|
||||
6. Global Clock Signals
|
||||
|
||||
-------------------------------------------
|
||||
Signal | Global Clock | Location
|
||||
-------------------------------------------
|
||||
===========================================
|
||||
|
||||
|
||||
7. Pinout by Port Name
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
Port Name | Diff Pair | Loc./Bank | Constraint | Dir. | Site | IO Type | Drive | Pull Mode | PCI Clamp | Hysteresis | Open Drain | Vref | Single Resistor | Diff Resistor | BankVccio
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
A[0] | - | A11/7 | Y | in | IOL15[A] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
A[1] | - | N6/3 | Y | in | IOR51[A] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
A[2] | - | E15/1 | Y | in | IOT44[B] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
A[3] | - | L9/3 | Y | in | IOR40[B] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
B[0] | - | B11/7 | Y | in | IOL13[A] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
B[1] | - | D11/7 | Y | in | IOL22[A] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
B[2] | - | N7/3 | Y | in | IOR47[B] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
B[3] | - | N8/3 | Y | in | IOR40[A] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
opCodeA[0] | - | T5/4 | Y | in | IOB54[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
opCodeA[1] | - | T4/4 | Y | in | IOB45[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
opCodeA[2] | - | E8/6 | Y | in | IOL45[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
select[0] | - | A15/7 | Y | in | IOL2[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
select[1] | - | A14/7 | Y | in | IOL8[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
Cin | - | E9/6 | Y | in | IOL38[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
leds[0] | - | L16/1 | Y | out | IOT34[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
leds[1] | - | L14/1 | Y | out | IOT34[B] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
Y[0] | - | P6/3 | Y | out | IOR53[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
Y[1] | - | T7/3 | Y | out | IOR29[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
Y[2] | - | P8/3 | Y | out | IOR42[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
Y[3] | - | P9/3 | Y | out | IOR38[B] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
Y[4] | - | T11/2 | Y | out | IOR24[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
Y[5] | - | T12/2 | Y | out | IOR17[B] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
Y[6] | - | M14/1 | Y | out | IOT40[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
Y[7] | - | J14/0 | Y | out | IOT22[B] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
Y[8] | - | D14/1 | Y | out | IOT44[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
Y[9] | - | B14/7 | Y | out | IOL2[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
Y[10] | - | B13/7 | Y | out | IOL8[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
Y[11] | - | B12/7 | Y | out | IOL7[B] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
===================================================================================================================================================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
8. All Package Pins
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
Loc./Bank| Signal | Dir. | Site | IO Type | Drive | Pull Mode | PCI Clamp | Hysteresis | Open Drain | Vref | Single Resistor | Diff Resistor | Bank Vccio
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
L15/0 | - | in | IOT2[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D16/0 | - | in | IOT4[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E14/0 | - | in | IOT4[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
C16/0 | - | in | IOT5[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D15/0 | - | in | IOT5[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E16/0 | - | in | IOT6[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F15/0 | - | in | IOT6[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F13/0 | - | in | IOT8[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G12/0 | - | in | IOT8[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F14/0 | - | in | IOT9[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F16/0 | - | in | IOT9[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F12/0 | - | in | IOT12[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G13/0 | - | in | IOT12[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G15/0 | - | in | IOT13[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G14/0 | - | in | IOT13[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G11/0 | - | in | IOT14[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H12/0 | - | in | IOT14[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G16/0 | - | in | IOT16[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H15/0 | - | in | IOT16[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H13/0 | - | in | IOT18[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J12/0 | - | in | IOT18[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H14/0 | - | in | IOT20[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H16/0 | - | in | IOT20[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J16/0 | - | in | IOT22[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J14/0 | Y[7] | out | IOT22[B] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
J15/0 | - | in | IOT24[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K16/0 | - | in | IOT24[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H11/0 | - | in | IOT27[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J13/0 | - | in | IOT27[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K14/1 | - | in | IOT30[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K15/1 | - | in | IOT30[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J11/1 | - | in | IOT32[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
L12/1 | - | in | IOT32[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
L16/1 | leds[0] | out | IOT34[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
L14/1 | leds[1] | out | IOT34[B] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
K13/1 | - | in | IOT36[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K12/1 | - | in | IOT36[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K11/1 | - | in | IOT38[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
L13/1 | - | in | IOT38[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M14/1 | Y[6] | out | IOT40[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
M15/1 | - | in | IOT40[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D14/1 | Y[8] | out | IOT44[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
E15/1 | A[2] | in | IOT44[B] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N15/1 | - | in | IOT48[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P16/1 | - | in | IOT48[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N16/1 | - | in | IOT52[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N14/1 | - | in | IOT52[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P15/1 | - | in | IOT54[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R16/1 | - | in | IOT54[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
A4/5 | - | in | IOB2[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
C5/5 | - | in | IOB2[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D6/5 | - | in | IOB3[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E7/5 | - | in | IOB3[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
A3/5 | - | in | IOB4[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
B4/5 | - | in | IOB4[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
A5/5 | - | in | IOB7[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
B6/5 | - | in | IOB7[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
B1/5 | - | in | IOB8[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
C2/5 | - | in | IOB8[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D3/5 | - | in | IOB9[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D1/5 | - | in | IOB9[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E2/5 | - | in | IOB12[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E3/5 | - | in | IOB12[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
B3/5 | - | in | IOB13[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
A2/5 | - | in | IOB13[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
C1/5 | - | in | IOB14[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D2/5 | - | in | IOB14[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E1/5 | - | in | IOB16[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F2/5 | - | in | IOB16[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F4/5 | - | in | IOB18[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G6/5 | - | in | IOB18[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F3/5 | - | in | IOB19[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F1/5 | - | in | IOB19[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G5/5 | - | in | IOB20[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G4/5 | - | in | IOB20[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G2/5 | - | in | IOB21[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G3/5 | - | in | IOB21[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F5/5 | - | in | IOB22[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H6/5 | - | in | IOB22[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
G1/5 | - | in | IOB24[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H2/5 | - | in | IOB24[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H4/5 | - | in | IOB26[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J6/5 | - | in | IOB26[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J1/5 | - | in | IOB27[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J3/5 | - | in | IOB27[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
L2/4 | - | in | IOB30[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M1/4 | - | in | IOB30[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H3/4 | - | in | IOB32[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H1/4 | - | in | IOB32[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J2/4 | - | in | IOB34[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K1/4 | - | in | IOB34[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
H5/4 | - | in | IOB35[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J4/4 | - | in | IOB35[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K3/4 | - | in | IOB36[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K2/4 | - | in | IOB36[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
J5/4 | - | in | IOB37[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K6/4 | - | in | IOB37[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
L1/4 | - | in | IOB38[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
L3/4 | - | in | IOB38[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K4/4 | - | in | IOB39[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
L5/4 | - | in | IOB39[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
K5/4 | - | in | IOB40[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
L4/4 | - | in | IOB40[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N2/4 | - | in | IOB41[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P1/4 | - | in | IOB41[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M3/4 | - | in | IOB42[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N1/4 | - | in | IOB42[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M2/4 | - | in | IOB43[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N3/4 | - | in | IOB43[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R1/4 | - | in | IOB44[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P2/4 | - | in | IOB44[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P4/4 | - | in | IOB45[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T4/4 | opCodeA[1] | in | IOB45[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R3/4 | - | in | IOB48[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T2/4 | - | in | IOB48[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P5/4 | - | in | IOB50[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R5/4 | - | in | IOB50[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R4/4 | - | in | IOB52[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T3/4 | - | in | IOB52[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R6/4 | - | in | IOB54[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T5/4 | opCodeA[0] | in | IOB54[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
B14/7 | Y[9] | out | IOL2[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
A15/7 | select[0] | in | IOL2[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
C12/7 | - | in | IOL7[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
B12/7 | Y[11] | out | IOL7[B] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
B13/7 | Y[10] | out | IOL8[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
A14/7 | select[1] | in | IOL8[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
F10/7 | - | in | IOL11[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
B11/7 | B[0] | in | IOL13[A] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
A12/7 | - | in | IOL13[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
A11/7 | A[0] | in | IOL15[A] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
C11/7 | - | in | IOL15[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D10/7 | - | in | IOL17[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E10/7 | - | in | IOL17[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D11/7 | B[1] | in | IOL22[A] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
A9/7 | - | in | IOL27[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
C9/7 | - | in | IOL27[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
C8/6 | - | in | IOL29[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
A8/6 | - | in | IOL29[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F9/6 | - | in | IOL31[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E11/6 | - | in | IOL31[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
B9/6 | - | in | IOL33[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
A10/6 | - | in | IOL33[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F8/6 | - | in | IOL35[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D9/6 | - | in | IOL35[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D8/6 | - | in | IOL38[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E9/6 | Cin | in | IOL38[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
B7/6 | - | in | IOL40[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
C7/6 | - | in | IOL40[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
F7/6 | - | in | IOL45[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E8/6 | opCodeA[2] | in | IOL45[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
C4/6 | - | in | IOL47[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
B5/6 | - | in | IOL47[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
E6/6 | - | in | IOL53[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
D7/6 | - | in | IOL53[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
T15/2 | - | in | IOR7[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R14/2 | - | in | IOR7[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P12/2 | - | in | IOR8[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T13/2 | - | in | IOR8[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R12/2 | - | in | IOR11[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P13/2 | - | in | IOR11[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R11/2 | - | in | IOR17[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T12/2 | Y[5] | out | IOR17[B] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
R13/2 | - | in | IOR20[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T14/2 | - | in | IOR20[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M10/2 | - | in | IOR22[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N11/2 | - | in | IOR22[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T11/2 | Y[4] | out | IOR24[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
P11/2 | - | in | IOR24[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
C6/2 | - | out | IOR25[A] | LVCMOS18 | 8 | UP | NA | NA | OFF | NA | NA | NA | 1.8
|
||||
B8/2 | - | in | IOR25[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
A7/2 | - | in | IOR26[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
A6/2 | - | in | IOR26[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N10/2 | - | in | IOR27[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M11/2 | - | in | IOR27[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T7/3 | Y[1] | out | IOR29[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
R8/3 | - | in | IOR29[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M16/3 | - | in | IOR30[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
B16/3 | - | in | IOR30[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
C15/3 | - | in | IOR31[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
B10/3 | - | in | IOR31[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
A13/3 | - | in | IOR32[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
C13/3 | - | in | IOR32[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P10/3 | - | in | IOR33[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R10/3 | - | in | IOR33[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M9/3 | - | in | IOR34[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
L10/3 | - | in | IOR34[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
R9/3 | - | in | IOR35[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T10/3 | - | in | IOR35[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M8/3 | - | in | IOR36[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N9/3 | - | in | IOR36[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
T9/3 | - | in | IOR38[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P9/3 | Y[3] | out | IOR38[B] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
C10/3 | - | in | IOR39[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N8/3 | B[3] | in | IOR40[A] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
L9/3 | A[3] | in | IOR40[B] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
P8/3 | Y[2] | out | IOR42[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
T8/3 | - | in | IOR42[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M6/3 | - | in | IOR44[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
L8/3 | - | in | IOR44[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
M7/3 | - | in | IOR47[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N7/3 | B[2] | in | IOR47[B] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
R7/3 | - | in | IOR49[A] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
P7/3 | - | in | IOR49[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
N6/3 | A[1] | in | IOR51[A] | LVCMOS18 | NA | NONE | ON | NONE | NA | NA | OFF | NA | 1.8
|
||||
P6/3 | Y[0] | out | IOR53[A] | LVCMOS18 | 8 | NONE | NA | NA | OFF | NA | OFF | NA | 1.8
|
||||
T6/3 | - | in | IOR53[B] | LVCMOS18 | NA | UP | ON | NONE | NA | NA | NA | NA | 1.8
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
========================================================================================================================================================================================
|
||||
|
||||
|
0
gowin/ALU/impl/pnr/ALU.timing_paths
Normal file
10
gowin/ALU/impl/pnr/ALU.tr.html
Normal file
@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Timing Analysis Report</title>
|
||||
</head>
|
||||
<frameset cols="20%, 80%">
|
||||
<frame src="ALU_tr_cata.html" name="cataFrame" />
|
||||
<frame src="ALU_tr_content.html" name="mainFrame"/>
|
||||
</frameset>
|
||||
</html>
|
132
gowin/ALU/impl/pnr/ALU_tr_cata.html
Normal file
@ -0,0 +1,132 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Timing Report Navigation</title>
|
||||
<style type="text/css">
|
||||
@import url(../temp/style.css);
|
||||
body { font-family: Verdana, Arial, sans-serif; font-size: 12px; }
|
||||
div#catalog_wrapper { width: 100%; }
|
||||
div#catalog ul { list-style: none; margin-left: -15px; }
|
||||
div#catalog ul li { margin: 3px 0 3px 0; text-align: left; color: #0084ff; white-space: nowrap; word-break: keep-all; }
|
||||
div#catalog a { display:inline-block; text-decoration: none; color: #0084ff; font-weight: bold; padding: 4px; margin: 0 0 0 0; }
|
||||
div#catalog a:visited { color: #0084ff; }
|
||||
div#catalog a:hover { color: #fff; background: #0084ff; }
|
||||
div.triangle_fake, div.triangle { display: inline-block; cursor: pointer; width: 8px; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
|
||||
div.triangle_fake { border-left: 5px solid transparent; }
|
||||
div.triangle { border-left: 5px solid #0084ff; }
|
||||
div.triangle:hover { border-left-color: #000; }
|
||||
</style>
|
||||
<script>
|
||||
function onClick(obj){var childs=obj.parentNode.childNodes;for(var i=0;i<childs.length;i++){if(childs[i].tagName=="UL"){if(childs[i].style.display=="none"){childs[i].style.display="block"}else{childs[i].style.display="none"}}}};
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="catalog_wrapper">
|
||||
<div id="catalog">
|
||||
<ul>
|
||||
<!-- messages begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Message" target="mainFrame" style=" font-size: 16px;">Timing Messages</a></li>
|
||||
<!-- messages end-->
|
||||
<!-- summaries begin-->
|
||||
<li><div class="triangle" onclick="onClick(this)"></div><a href="ALU_tr_content.html#Summary" style=" font-size: 16px;" target="mainFrame">Timing Summaries</a>
|
||||
<ul>
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#STA_Tool_Run_Summary" style=" font-size: 14px;" target="mainFrame">STA Tool Run Summary</a></li>
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Clock_Report" style=" font-size: 14px;" target="mainFrame">Clock Summary</a></li>
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Max_Frequency_Report" style=" font-size: 14px;" target="mainFrame">Max Frequency Summary</a></li>
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Total_Negative_Slack_Report" style=" font-size: 14px;" target="mainFrame">Total Negative Slack Summary</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<!-- summaries end-->
|
||||
<!-- details begin-->
|
||||
<li><div class="triangle" onclick="onClick(this)"></div><a href="ALU_tr_content.html#Detail" style=" font-size: 16px;" target="mainFrame">Timing Details</a>
|
||||
<ul>
|
||||
<!--All_Path_Slack_Table begin-->
|
||||
<li><div class="triangle" onclick="onClick(this)"></div><a href="ALU_tr_content.html#All_Path_Slack_Table" style=" font-size: 14px;" target="mainFrame">Path Slacks Table</a>
|
||||
<ul>
|
||||
<!--Setup_Slack_Table begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Setup_Slack_Table" style=" font-size: 13px;" target="mainFrame">Setup Paths Table</a>
|
||||
</li>
|
||||
<!--Setup_Slack_Table end-->
|
||||
<!--Hold_Slack_Table begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Hold_Slack_Table" style=" font-size: 13px;" target="mainFrame">Hold Paths Table</a>
|
||||
</li>
|
||||
<!--Hold_Slack_Table end-->
|
||||
<!--Recovery_Slack_Table begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Recovery_Slack_Table" style=" font-size: 13px;" target="mainFrame">Recovery Paths Table</a>
|
||||
</li>
|
||||
<!--Recovery_Slack_Table end-->
|
||||
<!--Removal_Slack_Table begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Removal_Slack_Table" style=" font-size: 13px;" target="mainFrame">Removal Paths Table</a>
|
||||
</li>
|
||||
<!--Removal_Slack_Table end-->
|
||||
</ul>
|
||||
</li><!--All_Path_Slack_Table end-->
|
||||
<!--MIN_PULSE_WIDTH_TABLE begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#MIN_PULSE_WIDTH_TABLE" style=" font-size: 14px;" target="mainFrame">Minimum Pulse Width Table</a>
|
||||
</li>
|
||||
<!--MIN_PULSE_WIDTH_TABLE end-->
|
||||
<!--Timing_Report_by_Analysis_Type begin-->
|
||||
<li><div class="triangle" onclick="onClick(this)"></div><a href="ALU_tr_content.html#Timing_Report_by_Analysis_Type" style=" font-size: 14px;" target="mainFrame">Timing Report By Analysis Type</a>
|
||||
<ul>
|
||||
<!--Setup_Analysis begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Setup_Analysis" style=" font-size: 13px;" target="mainFrame">Setup Analysis Report</a>
|
||||
</li>
|
||||
<!--Setup_Analysis end-->
|
||||
<!--Hold_Analysis begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Hold_Analysis" style=" font-size: 13px;" target="mainFrame">Hold Analysis Report</a>
|
||||
</li>
|
||||
<!--Hold_Analysis end-->
|
||||
<!--Recovery_Analysis begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Recovery_Analysis" style=" font-size: 13px;" target="mainFrame">Recovery Analysis Report</a>
|
||||
</li>
|
||||
<!--Recovery_Analysis end-->
|
||||
<!--Removal_Analysis begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Removal_Analysis" style=" font-size: 13px;" target="mainFrame">Removal Analysis Report</a>
|
||||
</li>
|
||||
<!--Removal_Analysis end-->
|
||||
</ul>
|
||||
</li>
|
||||
<!--Timing_Report_by_Analysis_Type end-->
|
||||
<!--Minimum_Pulse_Width_Report begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Minimum_Pulse_Width_Report" style=" font-size: 14px;" target="mainFrame">Minimum Pulse Width Report</a>
|
||||
</li>
|
||||
<!--Minimum_Pulse_Width_Report end-->
|
||||
<!--High_Fanout_Nets_Report begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#High_Fanout_Nets_Report" style=" font-size: 14px;" target="mainFrame">High Fanout Nets Report</a></li>
|
||||
<!--High_Fanout_Nets_Report end-->
|
||||
<!--Route_Congestions_Report begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Route_Congestions_Report" style=" font-size: 14px;" target="mainFrame">Route Congestions Report</a></li>
|
||||
<!--Route_Congestions_Report end-->
|
||||
<!--Timing_Exceptions_Report begin-->
|
||||
<li><div class="triangle" onclick="onClick(this)"></div><a href="ALU_tr_content.html#Timing_Exceptions_Report" style=" font-size: 14px;" target="mainFrame">Timing Exceptions Report</a>
|
||||
<ul>
|
||||
<!--Setup_Analysis_Exceptions begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Setup_Analysis_Exceptions" style=" font-size: 13px;" target="mainFrame">Setup Analysis Report</a>
|
||||
</li>
|
||||
<!--Setup_Analysis_Exceptions end-->
|
||||
<!--Hold_Analysis_Exceptions begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Hold_Analysis_Exceptions" style=" font-size: 13px;" target="mainFrame">Hold Analysis Report</a>
|
||||
</li>
|
||||
<!--Hold_Analysis_Exceptions end-->
|
||||
<!--Recovery_Analysis_Exceptions begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#Recovery_Analysis_Exceptions" style=" font-size: 13px;" target="mainFrame">Recovery Analysis Report</a>
|
||||
</li>
|
||||
<!--Recovery_Analysis_Exceptions end-->
|
||||
<!--Removal_Analysis_Exceptions begin-->
|
||||
<li><div class="triangle_fake" onclick="onClick(this)"></div><a href="ALU_tr_content.html#Removal_Analysis_Exceptions" style=" font-size: 13px;" target="mainFrame">Removal Analysis Report</a>
|
||||
</li>
|
||||
<!--Removal_Analysis_Exceptions end-->
|
||||
</ul>
|
||||
</li>
|
||||
<!--Timing_Exceptions_Report end-->
|
||||
<!--SDC_Report begin-->
|
||||
<li><div class="triangle_fake"></div><a href="ALU_tr_content.html#SDC_Report" style=" font-size: 14px;" target="mainFrame">Timing Constraints Report</a></li>
|
||||
<!--SDC_Report end-->
|
||||
</ul>
|
||||
</li>
|
||||
<!-- details end-->
|
||||
</ul>
|
||||
</div><!-- catalog -->
|
||||
</div><!-- catalog_wrapper -->
|
||||
</body>
|
||||
</html>
|
254
gowin/ALU/impl/pnr/ALU_tr_content.html
Normal file
@ -0,0 +1,254 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Timing Analysis Report</title>
|
||||
<style type="text/css">
|
||||
@import url(../temp/style.css);
|
||||
body { font-family: Verdana, Arial, sans-serif; font-size: 12px; }
|
||||
div#content { width: 100%; margin: }
|
||||
hr { margin-top: 30px; margin-bottom: 30px; }
|
||||
h1, h3 { text-align: center; }
|
||||
h1 {margin-top: 50px; }
|
||||
table, th, td {white-space:pre; border: 1px solid #aaa; }
|
||||
table { border-collapse:collapse; margin-top: 10px; margin-bottom: 20px; width: 100%; }
|
||||
th, td { padding: 5px 5px 5px 5px; }
|
||||
th { color: #fff; font-weight: bold; background-color: #0084ff; }
|
||||
table.summary_table td.label { width: 24%; min-width: 200px; background-color: #dee8f4; }
|
||||
table.detail_table th.label { min-width: 8%; width: 8%; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h1><a name="Message">Timing Messages</a></h1>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<td class="label">Report Title</td>
|
||||
<td>Timing Analysis Report</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Design File</td>
|
||||
<td>C:\Users\koray\Documents\gowin\ALU\impl\gwsynthesis\ALU.vg</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Physical Constraints File</td>
|
||||
<td>C:\Users\koray\Documents\gowin\ALU\src\top.cst</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Timing Constraint File</td>
|
||||
<td>---</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Tool Version</td>
|
||||
<td>V1.9.10.03 (64-bit)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Part Number</td>
|
||||
<td>GW2A-LV18PG256C8/I7</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Device</td>
|
||||
<td>GW2A-18</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Created Time</td>
|
||||
<td>Thu Jan 23 05:43:13 2025
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Legal Announcement</td>
|
||||
<td>Copyright (C)2014-2024 Gowin Semiconductor Corporation. All rights reserved.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h1><a name="Summary">Timing Summaries</a></h1>
|
||||
<h2><a name="STA_Tool_Run_Summary">STA Tool Run Summary:</a></h2>
|
||||
<table class="summary_table">
|
||||
<tr>
|
||||
<td class="label">Setup Delay Model</td>
|
||||
<td>Slow 0.95V 85C C8/I7</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Hold Delay Model</td>
|
||||
<td>Fast 1.05V 0C C8/I7</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Numbers of Paths Analyzed</td>
|
||||
<td>158</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Numbers of Endpoints Analyzed</td>
|
||||
<td>14</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Numbers of Falling Endpoints</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Numbers of Setup Violated Endpoints</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Numbers of Hold Violated Endpoints</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="Clock_Report">Clock Summary:</a></h2>
|
||||
<table class="detail_table">
|
||||
<tr>
|
||||
<th class="label">NO.</th>
|
||||
<th class="label">Clock Name</th>
|
||||
<th class="label">Type</th>
|
||||
<th class="label">Period</th>
|
||||
<th class="label">Frequency(MHz)</th>
|
||||
<th class="label">Rise</th>
|
||||
<th class="label">Fall</th>
|
||||
<th class="label">Source</th>
|
||||
<th class="label">Master</th>
|
||||
<th class="label">Objects</th>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="Max_Frequency_Report">Max Frequency Summary:</a></h2>
|
||||
<table>
|
||||
<tr>
|
||||
<th>NO.</th>
|
||||
<th>Clock Name</th>
|
||||
<th>Constraint</th>
|
||||
<th>Actual Fmax</th>
|
||||
<th>Logic Level</th>
|
||||
<th>Entity</th>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="Total_Negative_Slack_Report">Total Negative Slack Summary:</a></h2>
|
||||
<table class="detail_table">
|
||||
<tr>
|
||||
<th class="label">Clock Name</th>
|
||||
<th class="label">Analysis Type</th>
|
||||
<th class="label">Endpoints TNS</th>
|
||||
<th class="label">Number of Endpoints</th>
|
||||
</tr>
|
||||
</table>
|
||||
<h1><a name="Detail">Timing Details</a></h1>
|
||||
<h2><a name="All_Path_Slack_Table">Path Slacks Table:</a></h2>
|
||||
<h3><a name="Setup_Slack_Table">Setup Paths Table</a></h3>
|
||||
<h4>Report Command:report_timing -setup -max_paths 25 -max_common_paths 1</h4>
|
||||
<h4>Nothing to report!</h4>
|
||||
<h3><a name="Hold_Slack_Table">Hold Paths Table</a></h3>
|
||||
<h4>Report Command:report_timing -hold -max_paths 25 -max_common_paths 1</h4>
|
||||
<h4>Nothing to report!</h4>
|
||||
<h3><a name="Recovery_Slack_Table">Recovery Paths Table</a></h3>
|
||||
<h4>Report Command:report_timing -recovery -max_paths 25 -max_common_paths 1</h4>
|
||||
<h4>Nothing to report!</h4>
|
||||
<h3><a name="Removal_Slack_Table">Removal Paths Table</a></h3>
|
||||
<h4>Report Command:report_timing -removal -max_paths 25 -max_common_paths 1</h4>
|
||||
<h4>Nothing to report!</h4>
|
||||
<h2><a name="MIN_PULSE_WIDTH_TABLE">Minimum Pulse Width Table:</a></h2>
|
||||
<table class="detail_table">
|
||||
<tr>
|
||||
<th class="label">Number</th>
|
||||
<th class="label">Slack</th>
|
||||
<th class="label">Actual Width</th>
|
||||
<th class="label">Required Width</th>
|
||||
<th class="label">Type</th>
|
||||
<th class="label">Clock</th>
|
||||
<th class="label">Objects</th>
|
||||
</tr>
|
||||
<h4>Report Command:report_min_pulse_width -nworst 10 -detail</h4>
|
||||
<h4>Nothing to report!</h4>
|
||||
</table>
|
||||
<h2><a name="Timing_Report_by_Analysis_Type">Timing Report By Analysis Type:</a></h2>
|
||||
<h3><a name="Setup_Analysis">Setup Analysis Report</a></h3>
|
||||
<h4>Report Command:report_timing -setup -max_paths 25 -max_common_paths 1</h4>
|
||||
<h4>No setup paths to report!</h4>
|
||||
<h3><a name="Hold_Analysis">Hold Analysis Report</a></h3>
|
||||
<h4>Report Command:report_timing -hold -max_paths 25 -max_common_paths 1</h4>
|
||||
<h4>No hold paths to report!</h4>
|
||||
<h3><a name="Recovery_Analysis">Recovery Analysis Report</a></h3>
|
||||
<h4>Report Command:report_timing -recovery -max_paths 25 -max_common_paths 1</h4>
|
||||
<h4>No recovery paths to report!</h4>
|
||||
<h3><a name="Removal_Analysis">Removal Analysis Report</a></h3>
|
||||
<h4>Report Command:report_timing -removal -max_paths 25 -max_common_paths 1</h4>
|
||||
<h4>No removal paths to report!</h4>
|
||||
<h2><a name="Minimum_Pulse_Width_Report">Minimum Pulse Width Report:</a></h2>
|
||||
<h4>Report Command:report_min_pulse_width -nworst 10 -detail</h4>
|
||||
<h4>Nothing to report!</h4>
|
||||
<h2><a name="High_Fanout_Nets_Report">High Fanout Nets Report:</a></h2>
|
||||
<h4>Report Command:report_high_fanout_nets -max_nets 10</h4>
|
||||
<table class="detail_table">
|
||||
<tr>
|
||||
<th class="label">FANOUT</th>
|
||||
<th class="label">NET NAME</th>
|
||||
<th class="label">WORST SLACK</th>
|
||||
<th class="label">MAX DELAY</th>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="Route_Congestions_Report">Route Congestions Report:</a></h2>
|
||||
<h4>Report Command:report_route_congestion -max_grids 10</h4>
|
||||
<table class="detail_table">
|
||||
<tr>
|
||||
<th class="label">GRID LOC</th>
|
||||
<th class="label">ROUTE CONGESTIONS</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>R29C29</td>
|
||||
<td>51.39%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>R27C29</td>
|
||||
<td>36.11%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>R27C30</td>
|
||||
<td>36.11%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>R29C28</td>
|
||||
<td>33.33%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>R29C30</td>
|
||||
<td>30.56%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>R26C30</td>
|
||||
<td>30.56%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>R27C28</td>
|
||||
<td>29.17%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>R30C28</td>
|
||||
<td>27.78%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>R26C28</td>
|
||||
<td>27.78%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>R26C29</td>
|
||||
<td>27.78%</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="Timing_Exceptions_Report">Timing Exceptions Report:</a></h2>
|
||||
<h3><a name="Setup_Analysis_Exceptions">Setup Analysis Report</a></h3>
|
||||
<h4>Report Command:report_exceptions -setup -max_paths 5 -max_common_paths 1</h4>
|
||||
<h4>No timing exceptions to report!</h4>
|
||||
<h3><a name="Hold_Analysis_Exceptions">Hold Analysis Report</a></h3>
|
||||
<h4>Report Command:report_exceptions -hold -max_paths 5 -max_common_paths 1</h4>
|
||||
<h4>No timing exceptions to report!</h4>
|
||||
<h3><a name="Recovery_Analysis_Exceptions">Recovery Analysis Report</a></h3>
|
||||
<h4>Report Command:report_exceptions -recovery -max_paths 5 -max_common_paths 1</h4>
|
||||
<h4>No timing exceptions to report!</h4>
|
||||
<h3><a name="Removal_Analysis_Exceptions">Removal Analysis Report</a></h3>
|
||||
<h4>Report Command:report_exceptions -removal -max_paths 5 -max_common_paths 1</h4>
|
||||
<h4>No timing exceptions to report!</h4>
|
||||
<h2><a name="SDC_Report">Timing Constraints Report:</a></h2>
|
||||
<table class="detail_table">
|
||||
<tr>
|
||||
<th class="label">SDC Command Type</th>
|
||||
<th class="label">State</th>
|
||||
<th class="label">Detail Command</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div><!-- content -->
|
||||
</body>
|
||||
</html>
|
14
gowin/ALU/impl/pnr/cmd.do
Normal file
@ -0,0 +1,14 @@
|
||||
-d C:\Users\koray\Documents\gowin\ALU\impl\gwsynthesis\ALU.vg
|
||||
-p GW2A-18-PBGA256-8
|
||||
-pn GW2A-LV18PG256C8/I7
|
||||
-cst C:\Users\koray\Documents\gowin\ALU\src\top.cst
|
||||
-cfg C:\Users\koray\Documents\gowin\ALU\impl\pnr\device.cfg
|
||||
-bit
|
||||
-tr
|
||||
-ph
|
||||
-timing
|
||||
-cst_error
|
||||
-convert_sdp32_36_to_sdp16_18
|
||||
-correct_hold 1
|
||||
-route_maxfan 23
|
||||
-global_freq 100.000
|
22
gowin/ALU/impl/pnr/device.cfg
Normal file
@ -0,0 +1,22 @@
|
||||
set JTAG regular_io = false
|
||||
set SSPI regular_io = false
|
||||
set MSPI regular_io = false
|
||||
set READY regular_io = false
|
||||
set DONE regular_io = false
|
||||
set I2C regular_io = false
|
||||
set RECONFIG_N regular_io = false
|
||||
set CRC_check = true
|
||||
set compress = false
|
||||
set encryption = false
|
||||
set security_bit_enable = true
|
||||
set bsram_init_fuse_print = true
|
||||
set background_programming = off
|
||||
set secure_mode = false
|
||||
set program_done_bypass = false
|
||||
set wake_up = 0
|
||||
set format = binary
|
||||
set power_on_reset_monitor = true
|
||||
set multiboot_spi_flash_address = 0x00000000
|
||||
set vccx = 3.3
|
||||
set vcc = 1.0
|
||||
set unused_pin = default
|
702
gowin/ALU/impl/temp/rtl_parser.result
Normal file
@ -0,0 +1,702 @@
|
||||
[
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/top.v",
|
||||
"InstLine" : 1,
|
||||
"InstName" : "top",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/top.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "top",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/top.v",
|
||||
"InstLine" : 13,
|
||||
"InstName" : "a1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/ALU.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "ALU",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/ALU.v",
|
||||
"InstLine" : 18,
|
||||
"InstName" : "opCd",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/opCode.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "opCode"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/ALU.v",
|
||||
"InstLine" : 20,
|
||||
"InstName" : "aU",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/arithmeticUnit.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "arithmeticUnit",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/arithmeticUnit.v",
|
||||
"InstLine" : 13,
|
||||
"InstName" : "a1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "addition",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 11,
|
||||
"InstName" : "f0",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 12,
|
||||
"InstName" : "f1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 13,
|
||||
"InstName" : "f2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 14,
|
||||
"InstName" : "f3",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/arithmeticUnit.v",
|
||||
"InstLine" : 14,
|
||||
"InstName" : "s1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/subtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "subtraction",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/subtraction.v",
|
||||
"InstLine" : 11,
|
||||
"InstName" : "f0",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fullsubtraction",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "hf1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfsubtraction"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "hf2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfsubtraction"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/subtraction.v",
|
||||
"InstLine" : 12,
|
||||
"InstName" : "f1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fullsubtraction",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "hf1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfsubtraction"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "hf2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfsubtraction"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/subtraction.v",
|
||||
"InstLine" : 13,
|
||||
"InstName" : "f2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fullsubtraction",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "hf1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfsubtraction"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "hf2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfsubtraction"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/subtraction.v",
|
||||
"InstLine" : 14,
|
||||
"InstName" : "f3",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fullsubtraction",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "hf1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfsubtraction"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "hf2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfsubtraction.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfsubtraction"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/ALU.v",
|
||||
"InstLine" : 21,
|
||||
"InstName" : "lU",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/logicUnit.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "logicUnit"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/ALU.v",
|
||||
"InstLine" : 22,
|
||||
"InstName" : "mU",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/multiplier.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "multiplier",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/multiplier.v",
|
||||
"InstLine" : 26,
|
||||
"InstName" : "add0",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "addition",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 11,
|
||||
"InstName" : "f0",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 12,
|
||||
"InstName" : "f1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 13,
|
||||
"InstName" : "f2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 14,
|
||||
"InstName" : "f3",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/multiplier.v",
|
||||
"InstLine" : 42,
|
||||
"InstName" : "add1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "addition",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 11,
|
||||
"InstName" : "f0",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 12,
|
||||
"InstName" : "f1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 13,
|
||||
"InstName" : "f2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 14,
|
||||
"InstName" : "f3",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/multiplier.v",
|
||||
"InstLine" : 58,
|
||||
"InstName" : "add2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "addition",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 11,
|
||||
"InstName" : "f0",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 12,
|
||||
"InstName" : "f1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 13,
|
||||
"InstName" : "f2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"InstLine" : 14,
|
||||
"InstName" : "f3",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "fulladder",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 8,
|
||||
"InstName" : "h1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"InstLine" : 9,
|
||||
"InstName" : "h2",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "halfadder"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/ALU.v",
|
||||
"InstLine" : 76,
|
||||
"InstName" : "btod1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/BinaryToBCD.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "BinaryToBCD",
|
||||
"SubInsts" : [
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/BinaryToBCD.v",
|
||||
"InstLine" : 14,
|
||||
"InstName" : "d1t",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/dabble.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "dabble"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/BinaryToBCD.v",
|
||||
"InstLine" : 23,
|
||||
"InstName" : "d2u",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/dabble.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "dabble"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/BinaryToBCD.v",
|
||||
"InstLine" : 32,
|
||||
"InstName" : "d3v",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/dabble.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "dabble"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/BinaryToBCD.v",
|
||||
"InstLine" : 41,
|
||||
"InstName" : "d4w",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/dabble.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "dabble"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/BinaryToBCD.v",
|
||||
"InstLine" : 50,
|
||||
"InstName" : "d5x",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/dabble.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "dabble"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/BinaryToBCD.v",
|
||||
"InstLine" : 59,
|
||||
"InstName" : "d6y",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/dabble.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "dabble"
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/BinaryToBCD.v",
|
||||
"InstLine" : 68,
|
||||
"InstName" : "d7z",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/dabble.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "dabble"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"InstFile" : "C:/Users/koray/Documents/gowin/ALU/src/top.v",
|
||||
"InstLine" : 14,
|
||||
"InstName" : "s1",
|
||||
"ModuleFile" : "C:/Users/koray/Documents/gowin/ALU/src/selector.v",
|
||||
"ModuleLine" : 1,
|
||||
"ModuleName" : "selector"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
73
gowin/ALU/impl/temp/rtl_parser_arg.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"Device" : "GW2A-18",
|
||||
"Files" : [
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/addition.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/ALU.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/arithmeticUnit.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/BinaryToBCD.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/dabble.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/fulladder.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/fullsubtraction.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/halfadder.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/halfsubtraction.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/logicUnit.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/multiplier.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/opCode.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/selector.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/subtraction.v",
|
||||
"Type" : "verilog"
|
||||
},
|
||||
{
|
||||
"Path" : "C:/Users/koray/Documents/gowin/ALU/src/top.v",
|
||||
"Type" : "verilog"
|
||||
}
|
||||
],
|
||||
"IncludePath" : [
|
||||
|
||||
],
|
||||
"LoopLimit" : 2000,
|
||||
"ResultFile" : "C:/Users/koray/Documents/gowin/ALU/impl/temp/rtl_parser.result",
|
||||
"Top" : "",
|
||||
"VerilogStd" : "verilog_2001",
|
||||
"VhdlStd" : "vhdl_93"
|
||||
}
|
79
gowin/ALU/src/ALU.v
Normal file
@ -0,0 +1,79 @@
|
||||
module ALU (
|
||||
input [3:0] A, B,
|
||||
input CarryIN,
|
||||
input [2:0] opCodeA,
|
||||
output [11:0] bcd,
|
||||
output CarryOUT, overflow
|
||||
);
|
||||
|
||||
// Supports: ADD[0], SUB[1], MULT[2], AND[4], OR[5], XOR[6]
|
||||
|
||||
wire [7:0] opCode8;
|
||||
wire [3:0] add_Y, sub_Y;
|
||||
wire [3:0] resultA, resultO, resultX, lUOutput1;
|
||||
wire [3:0] aUtemp1, aUtemp2, lUOutput2;
|
||||
wire [3:0] wireY, wireLA;
|
||||
wire [7:0] opwireM, wireM, Y;
|
||||
|
||||
opCode opCd (.A(opCodeA), .opCode(opCode8));
|
||||
|
||||
arithmeticUnit aU(.opCode(opCode8[1:0]), .A(A), .B(B), .CarryIN(CarryIN), .add_Y(add_Y), .sub_Y(sub_Y), .CarryOUT(CarryOUT), .overflow(overflow));
|
||||
logicUnit lU (.opCode(opCode8[6:4]), .A(A), .B(B), .resultA(resultA), .resultO(resultO), .resultX(resultX));
|
||||
multiplier mU (.A(A), .B(B), .Y(opwireM));
|
||||
|
||||
or o01 (lUOutput1[0], resultA[0], resultO[0]);
|
||||
or o02 (lUOutput1[1], resultA[1], resultO[1]);
|
||||
or o03 (lUOutput1[2], resultA[2], resultO[2]);
|
||||
or o04 (lUOutput1[3], resultA[3], resultO[3]);
|
||||
|
||||
or o11 (lUOutput2[0], lUOutput1[0], resultX[0]);
|
||||
or o12 (lUOutput2[1], lUOutput1[1], resultX[1]);
|
||||
or o13 (lUOutput2[2], lUOutput1[2], resultX[2]);
|
||||
or o14 (lUOutput2[3], lUOutput1[3], resultX[3]);
|
||||
|
||||
|
||||
and a01 (aUtemp1[0], opCode8[0], add_Y[0]);
|
||||
and a02 (aUtemp1[1], opCode8[0], add_Y[1]);
|
||||
and a03 (aUtemp1[2], opCode8[0], add_Y[2]);
|
||||
and a04 (aUtemp1[3], opCode8[0], add_Y[3]);
|
||||
|
||||
|
||||
and a11 (aUtemp2[0], opCode8[1], sub_Y[0]);
|
||||
and a12 (aUtemp2[1], opCode8[1], sub_Y[1]);
|
||||
and a13 (aUtemp2[2], opCode8[1], sub_Y[2]);
|
||||
and a14 (aUtemp2[3], opCode8[1], sub_Y[3]);
|
||||
|
||||
and a21 (wireM[0], opCode8[2], opwireM[0]);
|
||||
and a22 (wireM[1], opCode8[2], opwireM[1]);
|
||||
and a23 (wireM[2], opCode8[2], opwireM[2]);
|
||||
and a24 (wireM[3], opCode8[2], opwireM[3]);
|
||||
and a25 (wireM[4], opCode8[2], opwireM[4]);
|
||||
and a26 (wireM[5], opCode8[2], opwireM[5]);
|
||||
and a27 (wireM[6], opCode8[2], opwireM[6]);
|
||||
and a28 (wireM[7], opCode8[2], opwireM[7]);
|
||||
|
||||
|
||||
or o21 (wireY[0], aUtemp1[0], aUtemp2[0]);
|
||||
or o22 (wireY[1], aUtemp1[1], aUtemp2[1]);
|
||||
or o23 (wireY[2], aUtemp1[2], aUtemp2[2]);
|
||||
or o24 (wireY[3], aUtemp1[3], aUtemp2[3]);
|
||||
|
||||
|
||||
or o1 (wireLA[0], lUOutput2[0], wireY[0]);
|
||||
or o2 (wireLA[1], lUOutput2[1], wireY[1]);
|
||||
or o3 (wireLA[2], lUOutput2[2], wireY[2]);
|
||||
or o4 (wireLA[3], lUOutput2[3], wireY[3]);
|
||||
|
||||
or o31 (Y[0], wireLA[0], wireM[0]);
|
||||
or o32 (Y[1], wireLA[1], wireM[1]);
|
||||
or o33 (Y[2], wireLA[2], wireM[2]);
|
||||
or o34 (Y[3], wireLA[3], wireM[3]);
|
||||
or o35 (Y[4], 1'b0, wireM[4]);
|
||||
or o36 (Y[5], 1'b0, wireM[5]);
|
||||
or o37 (Y[6], 1'b0, wireM[6]);
|
||||
or o38 (Y[7], 1'b0, wireM[7]);
|
||||
|
||||
BinaryToBCD btod1(.binary(Y), .bcd(bcd)); // WIRE Y BINARY!!!!
|
||||
|
||||
|
||||
endmodule
|
79
gowin/ALU/src/BinaryToBCD.v
Normal file
@ -0,0 +1,79 @@
|
||||
module BinaryToBCD (
|
||||
input [7:0] binary,
|
||||
output [11:0] bcd
|
||||
);
|
||||
|
||||
wire empty1, empty2;
|
||||
wire [3:0] dab1, dab2, dab3, dab4, dab5;
|
||||
|
||||
and a111 (empty1, 1'b0, 1'b0);
|
||||
and a000 (empty2, 1'b0, 1'b0);
|
||||
and a222 (bcd[11], 1'b0, 1'b0);
|
||||
and a223 (bcd[10], 1'b0, 1'b0);
|
||||
|
||||
dabble d1t (.A((empty1)),
|
||||
.B(binary[7]),
|
||||
.C(binary[6]),
|
||||
.D(binary[5]),
|
||||
.X(dab1[0]),
|
||||
.Y(dab1[1]),
|
||||
.Z(dab1[2]),
|
||||
.E(dab1[3]));
|
||||
|
||||
dabble d2u (.A((dab1[1])),
|
||||
.B(dab1[2]),
|
||||
.C(dab1[3]),
|
||||
.D(binary[4]),
|
||||
.X(dab2[0]),
|
||||
.Y(dab2[1]),
|
||||
.Z(dab2[2]),
|
||||
.E(dab2[3]));
|
||||
|
||||
dabble d3v (.A((dab2[1])),
|
||||
.B(dab2[2]),
|
||||
.C(dab2[3]),
|
||||
.D(binary[3]),
|
||||
.X(dab3[0]),
|
||||
.Y(dab3[1]),
|
||||
.Z(dab3[2]),
|
||||
.E(dab3[3]));
|
||||
|
||||
dabble d4w (.A((empty2)),
|
||||
.B(dab1[0]),
|
||||
.C(dab2[0]),
|
||||
.D(dab3[0]),
|
||||
.X(bcd[9]),
|
||||
.Y(dab4[1]),
|
||||
.Z(dab4[2]),
|
||||
.E(dab4[3]));
|
||||
|
||||
dabble d5x (.A((dab3[1])),
|
||||
.B(dab3[2]),
|
||||
.C(dab3[3]),
|
||||
.D(binary[2]),
|
||||
.X(dab5[0]),
|
||||
.Y(dab5[1]),
|
||||
.Z(dab5[2]),
|
||||
.E(dab5[3]));
|
||||
|
||||
dabble d6y (.A((dab4[1])),
|
||||
.B(dab4[2]),
|
||||
.C(dab4[3]),
|
||||
.D(dab5[0]),
|
||||
.X(bcd[8]),
|
||||
.Y(bcd[7]),
|
||||
.Z(bcd[6]),
|
||||
.E(bcd[5]));
|
||||
|
||||
dabble d7z (.A((dab5[1])),
|
||||
.B(dab5[2]),
|
||||
.C(dab5[3]),
|
||||
.D(binary[1]),
|
||||
.X(bcd[4]),
|
||||
.Y(bcd[3]),
|
||||
.Z(bcd[2]),
|
||||
.E(bcd[1]));
|
||||
|
||||
or o1 (bcd[0], binary[0], 1'b0);
|
||||
|
||||
endmodule
|
20
gowin/ALU/src/addition.v
Normal file
@ -0,0 +1,20 @@
|
||||
module addition (
|
||||
input [3:0] A, B,
|
||||
input CarryIN,
|
||||
output [3:0] Y,
|
||||
output CarryOUT,
|
||||
output overflow
|
||||
);
|
||||
|
||||
wire [2:0] Carry4;
|
||||
|
||||
fulladder f0(.A(A[0]), .B(B[0]), .Carry(CarryIN), .Sum(Y[0]), .CarryO(Carry4[0]));
|
||||
fulladder f1(.A(A[1]), .B(B[1]), .Carry(Carry4[0]), .Sum(Y[1]), .CarryO(Carry4[1]));
|
||||
fulladder f2(.A(A[2]), .B(B[2]), .Carry(Carry4[1]), .Sum(Y[2]), .CarryO(Carry4[2]));
|
||||
fulladder f3(.A(A[3]), .B(B[3]), .Carry(Carry4[2]), .Sum(Y[3]), .CarryO(CarryOUT));
|
||||
|
||||
|
||||
//overflowDetect od1 (.opCode(2'b01), .A(A), .B(B), .Y(Y), .CarryOUT(CarryOUT), .overflowDetect(overflow)); (KULLANILMAYACAK!!!!)
|
||||
xor ov1 (overflow, Carry4[2], CarryOUT);
|
||||
|
||||
endmodule
|
33
gowin/ALU/src/arithmeticUnit.v
Normal file
@ -0,0 +1,33 @@
|
||||
module arithmeticUnit (
|
||||
input [1:0] opCode,
|
||||
input [3:0] A, B,
|
||||
input CarryIN,
|
||||
output [3:0] add_Y, sub_Y,
|
||||
output CarryOUT,
|
||||
output overflow
|
||||
);
|
||||
|
||||
wire [3:0] addY, subY;
|
||||
wire CarryOUTADD, CarryOUTSUB, tempCAdd, tempCSub, tempoverflow;
|
||||
|
||||
addition a1(.A(A), .B(B), .CarryIN(CarryIN), .Y(addY), .CarryOUT(CarryOUTADD), .overflow(tempoverflow));
|
||||
subtraction s1(.A(A), .B(B), .BorrowIN(CarryIN), .Y(subY), .BorrowOUT(CarryOUTSUB));
|
||||
|
||||
and add1 (add_Y[0], opCode[0], addY[0]);
|
||||
and add2 (add_Y[1], opCode[0], addY[1]);
|
||||
and add3 (add_Y[2], opCode[0], addY[2]);
|
||||
and add4 (add_Y[3], opCode[0], addY[3]);
|
||||
|
||||
and sub1 (sub_Y[0], opCode[1], subY[0]);
|
||||
and sub2 (sub_Y[1], opCode[1], subY[1]);
|
||||
and sub3 (sub_Y[2], opCode[1], subY[2]);
|
||||
and sub4 (sub_Y[3], opCode[1], subY[3]);
|
||||
|
||||
// or or1 (CarryOUT, CarryOUTADD, CarryOUTSUB); (OLD!!!)
|
||||
and and10 (tempCSub, CarryOUTSUB, opCode[1]);
|
||||
and and11 (tempCAdd, CarryOUTADD, opCode[0]);
|
||||
or or4 (CarryOUT, tempCAdd, tempCSub);
|
||||
|
||||
and add12 (overflow, opCode[0], tempoverflow);
|
||||
|
||||
endmodule
|
22
gowin/ALU/src/dabble.v
Normal file
@ -0,0 +1,22 @@
|
||||
module dabble (
|
||||
input A, B, C, D,
|
||||
output X, Y, Z, E
|
||||
);
|
||||
|
||||
wire xor1, nor1, xor2, nor2, nor3, or1;
|
||||
|
||||
xor xo1 (xor1, A, D);
|
||||
nor no1 (nor1, A, B);
|
||||
xor xo2 (xor2, A, C);
|
||||
|
||||
nor no2 (nor2, xor1, xor2);
|
||||
|
||||
nor no3 (nor3, nor2, nor1);
|
||||
buf bu1 (X, nor3);
|
||||
or o1 (or1, xor1, nor1);
|
||||
|
||||
nor no4 (Y, or1, C);
|
||||
and an1 (Z, or1, xor2);
|
||||
xor xo3 (E, nor3, D);
|
||||
|
||||
endmodule
|
12
gowin/ALU/src/fulladder.v
Normal file
@ -0,0 +1,12 @@
|
||||
module fulladder (
|
||||
input A, B, Carry,
|
||||
output Sum, CarryO
|
||||
);
|
||||
|
||||
wire xor1, and1, and2;
|
||||
|
||||
halfadder h1(.A(A), .B(B), .Sum(xor1), .Carry(and1));
|
||||
halfadder h2 (.A(xor1), .B(Carry), .Sum(Sum), .Carry(and2));
|
||||
or o1 (CarryO, and1, and2);
|
||||
|
||||
endmodule
|
12
gowin/ALU/src/fullsubtraction.v
Normal file
@ -0,0 +1,12 @@
|
||||
module fullsubtraction (
|
||||
input A, B, BorrowIN,
|
||||
output Difference, BorrowOut
|
||||
);
|
||||
|
||||
wire tempD, tempB1, tempB2;
|
||||
|
||||
halfsubtraction hf1(.A(A), .B(B), .Difference(tempD), .Borrow(tempB1));
|
||||
halfsubtraction hf2(.A(tempD), .B(BorrowIN), .Difference(Difference), .Borrow(tempB2));
|
||||
or o1 (BorrowOut, tempB1, tempB2);
|
||||
|
||||
endmodule
|
9
gowin/ALU/src/halfadder.v
Normal file
@ -0,0 +1,9 @@
|
||||
module halfadder (
|
||||
input A, B,
|
||||
output Sum, Carry
|
||||
);
|
||||
|
||||
and a1 (Carry, A, B);
|
||||
xor xo1 (Sum, A, B);
|
||||
|
||||
endmodule
|
12
gowin/ALU/src/halfsubtraction.v
Normal file
@ -0,0 +1,12 @@
|
||||
module halfsubtraction (
|
||||
input A, B,
|
||||
output Difference, Borrow
|
||||
);
|
||||
|
||||
wire notA;
|
||||
|
||||
xor xo1 (Difference, A, B);
|
||||
not a1 (notA, A);
|
||||
and an1 (Borrow, notA, B);
|
||||
|
||||
endmodule
|
39
gowin/ALU/src/logicUnit.v
Normal file
@ -0,0 +1,39 @@
|
||||
module logicUnit (
|
||||
input [2:0] opCode,
|
||||
input [3:0] A, B,
|
||||
output [3:0] resultA, resultO, resultX
|
||||
);
|
||||
|
||||
wire [3:0] and1, or1, xor1;
|
||||
|
||||
and a01 (and1[0], A[0], B[0]);
|
||||
and a02 (and1[1], A[1], B[1]);
|
||||
and a03 (and1[2], A[2], B[2]);
|
||||
and a04 (and1[3], A[3], B[3]);
|
||||
|
||||
or o01 (or1[0], A[0], B[0]);
|
||||
or o02 (or1[1], A[1], B[1]);
|
||||
or o03 (or1[2], A[2], B[2]);
|
||||
or o04 (or1[3], A[3], B[3]);
|
||||
|
||||
xor xor01 (xor1[0], A[0], B[0]);
|
||||
xor xor02 (xor1[1], A[1], B[1]);
|
||||
xor xor03 (xor1[2], A[2], B[2]);
|
||||
xor xor04 (xor1[3], A[3], B[3]);
|
||||
|
||||
and a_o1 (resultA[0], opCode[0], and1[0]);
|
||||
and a_o2 (resultA[1], opCode[0], and1[1]);
|
||||
and a_o3 (resultA[2], opCode[0], and1[2]);
|
||||
and a_o4 (resultA[3], opCode[0], and1[3]);
|
||||
|
||||
and o_o1 (resultO[0], opCode[1], or1[0]);
|
||||
and o_o2 (resultO[1], opCode[1], or1[1]);
|
||||
and o_o3 (resultO[2], opCode[1], or1[2]);
|
||||
and o_o4 (resultO[3], opCode[1], or1[3]);
|
||||
|
||||
and x_o1 (resultX[0], opCode[2], xor1[0]);
|
||||
and x_o2 (resultX[1], opCode[2], xor1[1]);
|
||||
and x_o3 (resultX[2], opCode[2], xor1[2]);
|
||||
and x_o4 (resultX[3], opCode[2], xor1[3]);
|
||||
|
||||
endmodule
|
76
gowin/ALU/src/multiplier.v
Normal file
@ -0,0 +1,76 @@
|
||||
module multiplier (
|
||||
input [3:0] A, B,
|
||||
output [7:0] Y
|
||||
);
|
||||
|
||||
wire [3:0] b0, a0, a1, a2;
|
||||
wire [4:0] S0, S1, S2;
|
||||
wire carry0, carry1, carry2;
|
||||
wire overflow0, overflow1, overflow2;
|
||||
|
||||
// Partial product generation
|
||||
and (Y[0], A[0], B[0]); // LSB of the result
|
||||
|
||||
// Generate partial products for B[0] and B[1]
|
||||
and ab00 (b0[0], A[1], B[0]);
|
||||
and ab01 (b0[1], A[2], B[0]);
|
||||
and ab02 (b0[2], A[3], B[0]);
|
||||
not ab03 (b0[3], 1'b1); // Initialize b0[3] to 0
|
||||
|
||||
and aa00 (a0[0], A[0], B[1]);
|
||||
and aa01 (a0[1], A[1], B[1]);
|
||||
and aa02 (a0[2], A[2], B[1]);
|
||||
and aa03 (a0[3], A[3], B[1]);
|
||||
|
||||
// First addition
|
||||
addition add0 (
|
||||
.A(a0),
|
||||
.B(b0),
|
||||
.CarryIN(1'b0),
|
||||
.Y(S0[3:0]),
|
||||
.CarryOUT(S0[4]),
|
||||
.overflow(overflow0)
|
||||
);
|
||||
|
||||
// Generate partial products for B[2]
|
||||
and aa10 (a1[0], A[0], B[2]);
|
||||
and aa11 (a1[1], A[1], B[2]);
|
||||
and aa12 (a1[2], A[2], B[2]);
|
||||
and aa13 (a1[3], A[3], B[2]);
|
||||
|
||||
// Second addition
|
||||
addition add1 (
|
||||
.A(a1),
|
||||
.B(S0[4:1]),
|
||||
.CarryIN(1'b0),
|
||||
.Y(S1[3:0]),
|
||||
.CarryOUT(S1[4]),
|
||||
.overflow(overflow1)
|
||||
);
|
||||
|
||||
// Generate partial products for B[3]
|
||||
and aa20 (a2[0], A[0], B[3]);
|
||||
and aa21 (a2[1], A[1], B[3]);
|
||||
and aa22 (a2[2], A[2], B[3]);
|
||||
and aa23 (a2[3], A[3], B[3]);
|
||||
|
||||
// Third addition
|
||||
addition add2 (
|
||||
.A(a2),
|
||||
.B(S1[4:1]),
|
||||
.CarryIN(1'b0),
|
||||
.Y(S2[3:0]),
|
||||
.CarryOUT(S2[4]),
|
||||
.overflow(overflow2)
|
||||
);
|
||||
|
||||
// Combine results into the final output Y
|
||||
or o01 (Y[1], S0[0], 1'b0);
|
||||
or o02 (Y[2], S1[0], 1'b0);
|
||||
or o03 (Y[3], S2[0], 1'b0);
|
||||
or o04 (Y[4], S2[1], 1'b0);
|
||||
or o05 (Y[5], S2[2], 1'b0);
|
||||
or o06 (Y[6], S2[3], 1'b0);
|
||||
or o07 (Y[7], S2[4], 1'b0);
|
||||
|
||||
endmodule
|
25
gowin/ALU/src/opCode.v
Normal file
@ -0,0 +1,25 @@
|
||||
module opCode (
|
||||
input [2:0] A,
|
||||
output [7:0] opCode
|
||||
);
|
||||
wire and1, and2, and3, and4, notA, notB, notC;
|
||||
|
||||
not n1(notA, A[2]);
|
||||
not n2(notB, A[1]);
|
||||
not n3(notC, A[0]);
|
||||
|
||||
and a01(and1, A[2], A[1]);
|
||||
and a02(and2, notA, A[1]);
|
||||
and a03(and3, A[2], notB);
|
||||
and a04(and4, notA, notB);
|
||||
|
||||
and a1(opCode[0], and4, notC);
|
||||
and a2(opCode[1], and4, A[0]);
|
||||
and a3(opCode[2], and2, notC);
|
||||
and a4(opCode[3], and2, A[0]);
|
||||
and a5(opCode[4], and3, notC);
|
||||
and a6(opCode[5], and3, A[0]);
|
||||
and a7(opCode[6], and1, notC);
|
||||
and a8(opCode[7], and1, A[0]);
|
||||
|
||||
endmodule
|
20
gowin/ALU/src/selector.v
Normal file
@ -0,0 +1,20 @@
|
||||
module selector (
|
||||
input [3:0] A,
|
||||
input [3:0] B,
|
||||
input [2:0] opCodeA,
|
||||
input [1:0] select,
|
||||
input [11:0] ALUY,
|
||||
output reg [11:0] Y
|
||||
);
|
||||
|
||||
always @(*) begin
|
||||
case (select)
|
||||
2'b00: Y = {8'b00000000, A}; // Zero-extend A to 8 bits
|
||||
2'b01: Y = {8'b00000000, B}; // Zero-extend B to 8 bits
|
||||
2'b10: Y = {9'b000000000, opCodeA}; // Zero-extend opCodeA to 8 bits
|
||||
2'b11: Y = ALUY; // Directly assign ALUY
|
||||
default: Y = ALUY; // Default case for safety
|
||||
endcase
|
||||
end
|
||||
|
||||
endmodule
|
16
gowin/ALU/src/subtraction.v
Normal file
@ -0,0 +1,16 @@
|
||||
module subtraction (
|
||||
input [3:0] A, B,
|
||||
input BorrowIN,
|
||||
output [3:0] Y,
|
||||
output BorrowOUT //Overflow signal'ini yani negatif gonderecek
|
||||
);
|
||||
|
||||
wire [3:0] tempB;
|
||||
|
||||
// Full Subtraction logic for each bit (borrow-in for each subsequent bit)
|
||||
fullsubtraction f0 (.A(A[0]), .B(B[0]), .BorrowIN(BorrowIN), .Difference(Y[0]), .BorrowOut(tempB[0]));
|
||||
fullsubtraction f1 (.A(A[1]), .B(B[1]), .BorrowIN(tempB[0]), .Difference(Y[1]), .BorrowOut(tempB[1]));
|
||||
fullsubtraction f2 (.A(A[2]), .B(B[2]), .BorrowIN(tempB[1]), .Difference(Y[2]), .BorrowOut(tempB[2]));
|
||||
fullsubtraction f3 (.A(A[3]), .B(B[3]), .BorrowIN(tempB[2]), .Difference(Y[3]), .BorrowOut(BorrowOUT));
|
||||
|
||||
endmodule
|
65
gowin/ALU/src/top.cst
Normal file
@ -0,0 +1,65 @@
|
||||
//Copyright (C)2014-2024 Gowin Semiconductor Corporation.
|
||||
//All rights reserved.
|
||||
//File Title: Physical Constraints file
|
||||
//Tool Version: V1.9.9.03 Education (64-bit)
|
||||
//Part Number: GW2A-LV18PG256C8/I7
|
||||
//Device: GW2A-18
|
||||
//Device Version: C
|
||||
//Created Time: Mon 01 20 17:48:00 2025
|
||||
|
||||
IO_LOC "Y[11]" B12;
|
||||
IO_PORT "Y[11]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[10]" B13;
|
||||
IO_PORT "Y[10]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[9]" B14;
|
||||
IO_PORT "Y[9]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[8]" D14;
|
||||
IO_PORT "Y[8]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[7]" J14;
|
||||
IO_PORT "Y[7]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[6]" M14;
|
||||
IO_PORT "Y[6]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[5]" T12;
|
||||
IO_PORT "Y[5]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[4]" T11;
|
||||
IO_PORT "Y[4]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[3]" P9;
|
||||
IO_PORT "Y[3]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[2]" P8;
|
||||
IO_PORT "Y[2]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[1]" T7;
|
||||
IO_PORT "Y[1]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Y[0]" P6;
|
||||
IO_PORT "Y[0]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "leds[1]" L14;
|
||||
IO_PORT "leds[1]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "leds[0]" L16;
|
||||
IO_PORT "leds[0]" IO_TYPE=LVCMOS18 PULL_MODE=NONE DRIVE=8 BANK_VCCIO=1.8;
|
||||
IO_LOC "Cin" E9;
|
||||
IO_PORT "Cin" IO_TYPE=LVCMOS18 PULL_MODE=UP BANK_VCCIO=1.8;
|
||||
IO_LOC "select[1]" A14;
|
||||
IO_PORT "select[1]" IO_TYPE=LVCMOS18 PULL_MODE=UP BANK_VCCIO=1.8;
|
||||
IO_LOC "select[0]" A15;
|
||||
IO_PORT "select[0]" IO_TYPE=LVCMOS18 PULL_MODE=UP BANK_VCCIO=1.8;
|
||||
IO_LOC "opCodeA[2]" E8;
|
||||
IO_PORT "opCodeA[2]" IO_TYPE=LVCMOS18 PULL_MODE=UP BANK_VCCIO=1.8;
|
||||
IO_LOC "opCodeA[1]" T4;
|
||||
IO_PORT "opCodeA[1]" IO_TYPE=LVCMOS18 PULL_MODE=UP BANK_VCCIO=1.8;
|
||||
IO_LOC "opCodeA[0]" T5;
|
||||
IO_PORT "opCodeA[0]" IO_TYPE=LVCMOS18 PULL_MODE=UP BANK_VCCIO=1.8;
|
||||
IO_LOC "B[3]" N8;
|
||||
IO_PORT "B[3]" IO_TYPE=LVCMOS18 PULL_MODE=NONE BANK_VCCIO=1.8;
|
||||
IO_LOC "B[2]" N7;
|
||||
IO_PORT "B[2]" IO_TYPE=LVCMOS18 PULL_MODE=NONE BANK_VCCIO=1.8;
|
||||
IO_LOC "B[1]" D11;
|
||||
IO_PORT "B[1]" IO_TYPE=LVCMOS18 PULL_MODE=NONE BANK_VCCIO=1.8;
|
||||
IO_LOC "B[0]" B11;
|
||||
IO_PORT "B[0]" IO_TYPE=LVCMOS18 PULL_MODE=NONE BANK_VCCIO=1.8;
|
||||
IO_LOC "A[3]" L9;
|
||||
IO_PORT "A[3]" IO_TYPE=LVCMOS18 PULL_MODE=NONE BANK_VCCIO=1.8;
|
||||
IO_LOC "A[2]" E15;
|
||||
IO_PORT "A[2]" IO_TYPE=LVCMOS18 PULL_MODE=NONE BANK_VCCIO=1.8;
|
||||
IO_LOC "A[1]" N6;
|
||||
IO_PORT "A[1]" IO_TYPE=LVCMOS18 PULL_MODE=NONE BANK_VCCIO=1.8;
|
||||
IO_LOC "A[0]" A11;
|
||||
IO_PORT "A[0]" IO_TYPE=LVCMOS18 PULL_MODE=NONE BANK_VCCIO=1.8;
|
19
gowin/ALU/src/top.v
Normal file
@ -0,0 +1,19 @@
|
||||
module top (
|
||||
input [3:0] A, B,
|
||||
input [2:0] opCodeA,
|
||||
input [1:0] select,
|
||||
input Cin,
|
||||
output [1:0] leds,
|
||||
output [11:0] Y
|
||||
);
|
||||
|
||||
|
||||
wire wire1, wire2;
|
||||
wire [11:0] selectY;
|
||||
ALU a1(.A(A), .B(B), .opCodeA(opCodeA), .CarryIN(Cin), .bcd(selectY), .CarryOUT(wire2), .overflow(wire1)); //ALU module
|
||||
selector s1(.A(A), .B(B), .opCodeA(opCodeA), .select(select), .ALUY(selectY), .Y(Y)); // selector for 7 segment
|
||||
|
||||
assign leds[0] = ~wire1; //overflow led
|
||||
assign leds[1] = ~wire2; //CarryOut/BorrowOut led
|
||||
|
||||
endmodule
|
200
logisim/!OLDarithmeticTEST.circ
Normal file
@ -0,0 +1,200 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project source="3.9.0" version="1.0">
|
||||
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
|
||||
|
||||
<lib desc="#Wiring" name="0">
|
||||
<tool name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
<tool name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#Gates" name="1"/>
|
||||
<lib desc="#Plexers" name="2"/>
|
||||
<lib desc="#Arithmetic" name="3"/>
|
||||
<lib desc="#Memory" name="4"/>
|
||||
<lib desc="#I/O" name="5"/>
|
||||
<lib desc="#TTL" name="6"/>
|
||||
<lib desc="#TCL" name="7"/>
|
||||
<lib desc="#Base" name="8"/>
|
||||
<lib desc="#BFH-Praktika" name="9"/>
|
||||
<lib desc="#Input/Output-Extra" name="10"/>
|
||||
<lib desc="#Soc" name="11"/>
|
||||
<lib desc="file#arithmeticunit.circ" name="12"/>
|
||||
<main name="autest"/>
|
||||
<options>
|
||||
<a name="gateUndefined" val="ignore"/>
|
||||
<a name="simlimit" val="1000"/>
|
||||
<a name="simrand" val="0"/>
|
||||
</options>
|
||||
<mappings>
|
||||
<tool lib="8" map="Button2" name="Poke Tool"/>
|
||||
<tool lib="8" map="Button3" name="Menu Tool"/>
|
||||
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
|
||||
</mappings>
|
||||
<toolbar>
|
||||
<tool lib="8" name="Poke Tool"/>
|
||||
<tool lib="8" name="Edit Tool"/>
|
||||
<tool lib="8" name="Wiring Tool"/>
|
||||
<tool lib="8" name="Text Tool"/>
|
||||
<sep/>
|
||||
<tool lib="0" name="Pin"/>
|
||||
<tool lib="0" name="Pin">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="output" val="true"/>
|
||||
</tool>
|
||||
<sep/>
|
||||
<tool lib="1" name="NOT Gate"/>
|
||||
<tool lib="1" name="AND Gate"/>
|
||||
<tool lib="1" name="OR Gate"/>
|
||||
<tool lib="1" name="XOR Gate"/>
|
||||
<tool lib="1" name="NAND Gate"/>
|
||||
<tool lib="1" name="NOR Gate"/>
|
||||
<sep/>
|
||||
<tool lib="4" name="D Flip-Flop"/>
|
||||
<tool lib="4" name="Register"/>
|
||||
</toolbar>
|
||||
<circuit name="autest">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="autest"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(160,300)" name="Splitter">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(260,280)" name="Splitter">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(360,250)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(380,200)" name="Splitter"/>
|
||||
<comp lib="0" loc="(740,480)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(750,250)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(780,530)" name="Ground"/>
|
||||
<comp lib="0" loc="(790,300)" name="Ground"/>
|
||||
<comp lib="0" loc="(810,430)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(820,200)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="12" loc="(600,230)" name="arithmeticUnit"/>
|
||||
<comp lib="5" loc="(160,270)" name="DipSwitch">
|
||||
<a name="facing" val="south"/>
|
||||
<a name="number" val="4"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(260,240)" name="DipSwitch">
|
||||
<a name="facing" val="south"/>
|
||||
<a name="number" val="4"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(400,200)" name="DipSwitch">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="number" val="2"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(630,320)" name="LED">
|
||||
<a name="facing" val="north"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(670,350)" name="LED">
|
||||
<a name="facing" val="north"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(860,290)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(870,60)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(920,290)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(930,60)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(980,290)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(990,60)" name="7-Segment Display"/>
|
||||
<comp lib="8" loc="(512,186)" name="Text">
|
||||
<a name="text" val="decoded opCode"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(581,379)" name="Text">
|
||||
<a name="text" val="and CarryOut in add"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(616,358)" name="Text">
|
||||
<a name="text" val="negative"/>
|
||||
</comp>
|
||||
<comp lib="9" loc="(860,290)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(870,420)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(870,60)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(880,190)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(920,290)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(930,60)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(980,290)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(990,60)" name="BCD_to_7_Segment_decoder"/>
|
||||
<wire from="(1000,140)" to="(1000,170)"/>
|
||||
<wire from="(120,270)" to="(120,280)"/>
|
||||
<wire from="(130,270)" to="(130,280)"/>
|
||||
<wire from="(140,270)" to="(140,280)"/>
|
||||
<wire from="(150,270)" to="(150,280)"/>
|
||||
<wire from="(160,300)" to="(380,300)"/>
|
||||
<wire from="(220,240)" to="(220,260)"/>
|
||||
<wire from="(230,240)" to="(230,260)"/>
|
||||
<wire from="(240,240)" to="(240,260)"/>
|
||||
<wire from="(250,240)" to="(250,260)"/>
|
||||
<wire from="(260,280)" to="(380,280)"/>
|
||||
<wire from="(360,250)" to="(380,250)"/>
|
||||
<wire from="(380,200)" to="(380,230)"/>
|
||||
<wire from="(380,270)" to="(380,280)"/>
|
||||
<wire from="(380,290)" to="(380,300)"/>
|
||||
<wire from="(600,230)" to="(730,230)"/>
|
||||
<wire from="(600,250)" to="(750,250)"/>
|
||||
<wire from="(600,270)" to="(670,270)"/>
|
||||
<wire from="(600,290)" to="(630,290)"/>
|
||||
<wire from="(630,290)" to="(630,320)"/>
|
||||
<wire from="(670,270)" to="(670,350)"/>
|
||||
<wire from="(730,230)" to="(730,480)"/>
|
||||
<wire from="(730,480)" to="(740,480)"/>
|
||||
<wire from="(760,440)" to="(790,440)"/>
|
||||
<wire from="(760,450)" to="(790,450)"/>
|
||||
<wire from="(760,460)" to="(790,460)"/>
|
||||
<wire from="(760,470)" to="(790,470)"/>
|
||||
<wire from="(770,210)" to="(800,210)"/>
|
||||
<wire from="(770,220)" to="(800,220)"/>
|
||||
<wire from="(770,230)" to="(800,230)"/>
|
||||
<wire from="(770,240)" to="(800,240)"/>
|
||||
<wire from="(780,480)" to="(780,490)"/>
|
||||
<wire from="(780,480)" to="(790,480)"/>
|
||||
<wire from="(780,490)" to="(780,500)"/>
|
||||
<wire from="(780,490)" to="(790,490)"/>
|
||||
<wire from="(780,500)" to="(780,510)"/>
|
||||
<wire from="(780,500)" to="(790,500)"/>
|
||||
<wire from="(780,510)" to="(780,520)"/>
|
||||
<wire from="(780,510)" to="(790,510)"/>
|
||||
<wire from="(780,520)" to="(780,530)"/>
|
||||
<wire from="(780,520)" to="(790,520)"/>
|
||||
<wire from="(790,250)" to="(790,260)"/>
|
||||
<wire from="(790,250)" to="(800,250)"/>
|
||||
<wire from="(790,260)" to="(790,270)"/>
|
||||
<wire from="(790,260)" to="(800,260)"/>
|
||||
<wire from="(790,270)" to="(790,280)"/>
|
||||
<wire from="(790,270)" to="(800,270)"/>
|
||||
<wire from="(790,280)" to="(790,290)"/>
|
||||
<wire from="(790,280)" to="(800,280)"/>
|
||||
<wire from="(790,290)" to="(790,300)"/>
|
||||
<wire from="(790,290)" to="(800,290)"/>
|
||||
<wire from="(810,420)" to="(810,430)"/>
|
||||
<wire from="(810,420)" to="(840,420)"/>
|
||||
<wire from="(820,190)" to="(820,200)"/>
|
||||
<wire from="(820,190)" to="(850,190)"/>
|
||||
<wire from="(870,370)" to="(870,400)"/>
|
||||
<wire from="(880,140)" to="(880,170)"/>
|
||||
<wire from="(930,370)" to="(930,400)"/>
|
||||
<wire from="(940,140)" to="(940,170)"/>
|
||||
<wire from="(990,370)" to="(990,400)"/>
|
||||
</circuit>
|
||||
</project>
|
3135
logisim/!OLDhalfsubraction.circ
Normal file
673
logisim/alu.circ
Normal file
@ -0,0 +1,673 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project source="3.9.0" version="1.0">
|
||||
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
|
||||
|
||||
<lib desc="#Wiring" name="0">
|
||||
<tool name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
<tool name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</tool>
|
||||
<tool name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#Gates" name="1"/>
|
||||
<lib desc="#Plexers" name="2"/>
|
||||
<lib desc="#Arithmetic" name="3"/>
|
||||
<lib desc="#Memory" name="4"/>
|
||||
<lib desc="#I/O" name="5"/>
|
||||
<lib desc="#TTL" name="6">
|
||||
<tool name="7432">
|
||||
<a name="facing" val="south"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#TCL" name="7"/>
|
||||
<lib desc="#Base" name="8"/>
|
||||
<lib desc="#BFH-Praktika" name="9"/>
|
||||
<lib desc="#Input/Output-Extra" name="10"/>
|
||||
<lib desc="#Soc" name="11"/>
|
||||
<lib desc="file#arithmeticunit.circ" name="12"/>
|
||||
<lib desc="file#multiplier4.circ" name="13">
|
||||
<tool name="bit4multiplier">
|
||||
<a name="facing" val="south"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<main name="alu"/>
|
||||
<options>
|
||||
<a name="gateUndefined" val="ignore"/>
|
||||
<a name="simlimit" val="1000"/>
|
||||
<a name="simrand" val="0"/>
|
||||
</options>
|
||||
<mappings>
|
||||
<tool lib="8" map="Button2" name="Poke Tool"/>
|
||||
<tool lib="8" map="Button3" name="Menu Tool"/>
|
||||
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
|
||||
</mappings>
|
||||
<toolbar>
|
||||
<tool lib="8" name="Poke Tool"/>
|
||||
<tool lib="8" name="Edit Tool"/>
|
||||
<tool lib="8" name="Wiring Tool"/>
|
||||
<tool lib="8" name="Text Tool"/>
|
||||
<sep/>
|
||||
<tool lib="0" name="Pin"/>
|
||||
<tool lib="0" name="Pin">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="output" val="true"/>
|
||||
</tool>
|
||||
<sep/>
|
||||
<tool lib="1" name="NOT Gate"/>
|
||||
<tool lib="1" name="AND Gate"/>
|
||||
<tool lib="1" name="OR Gate"/>
|
||||
<tool lib="1" name="XOR Gate"/>
|
||||
<tool lib="1" name="NAND Gate"/>
|
||||
<tool lib="1" name="NOR Gate"/>
|
||||
<sep/>
|
||||
<tool lib="4" name="D Flip-Flop"/>
|
||||
<tool lib="4" name="Register"/>
|
||||
</toolbar>
|
||||
<circuit name="alu">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="alu"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(1110,1150)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(2090,2170)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="8"/>
|
||||
<a name="incoming" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(2110,2070)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="Y"/>
|
||||
<a name="output" val="true"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(320,90)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="opC"/>
|
||||
<a name="width" val="3"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(360,1250)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="3"/>
|
||||
<a name="incoming" val="3"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(360,90)" name="Splitter">
|
||||
<a name="fanout" val="3"/>
|
||||
<a name="incoming" val="3"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(430,1630)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="8"/>
|
||||
<a name="incoming" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(430,510)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="Cin"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(470,460)" name="Splitter"/>
|
||||
<comp lib="0" loc="(650,50)" name="Splitter">
|
||||
<a name="facing" val="south"/>
|
||||
<a name="fanout" val="8"/>
|
||||
<a name="incoming" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(710,530)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="overflow"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(710,560)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="Cout"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(770,490)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(780,1560)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(790,840)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(80,530)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="A"/>
|
||||
<a name="width" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(80,560)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="B"/>
|
||||
<a name="width" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(840,1200)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="12" loc="(630,50)" name="OpCode"/>
|
||||
<comp lib="12" loc="(690,490)" name="arithmeticUnit"/>
|
||||
<comp lib="12" loc="(700,1250)" name="logic"/>
|
||||
<comp lib="13" loc="(430,1610)" name="bit4multiplier">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="6" loc="(1140,660)" name="7432"/>
|
||||
<comp lib="6" loc="(1420,670)" name="7432"/>
|
||||
<comp lib="6" loc="(150,1800)" name="7408"/>
|
||||
<comp lib="6" loc="(160,2080)" name="7408"/>
|
||||
<comp lib="6" loc="(1790,1950)" name="7432">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="6" loc="(830,540)" name="7408"/>
|
||||
<comp lib="6" loc="(840,830)" name="7408"/>
|
||||
<comp lib="6" loc="(880,1520)" name="7432">
|
||||
<a name="facing" val="north"/>
|
||||
</comp>
|
||||
<comp lib="6" loc="(970,1230)" name="7432">
|
||||
<a name="facing" val="north"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1010,815)" name="Text">
|
||||
<a name="text" val="sub"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1040,1740)" name="Text">
|
||||
<a name="text" val="0"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1055,1530)" name="Text">
|
||||
<a name="text" val="2"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1150,1120)" name="Text">
|
||||
<a name="text" val="3"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1195,1260)" name="Text">
|
||||
<a name="text" val="2"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1240,1560)" name="Text">
|
||||
<a name="text" val="3"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1290,510)" name="Text">
|
||||
<a name="text" val="0"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1300,550)" name="Text">
|
||||
<a name="text" val="1"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1355,775)" name="Text">
|
||||
<a name="text" val="3"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1360,1380)" name="Text">
|
||||
<a name="text" val="0"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1365,835)" name="Text">
|
||||
<a name="text" val="2"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1420,1665)" name="Text">
|
||||
<a name="text" val="1"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1420,1710)" name="Text">
|
||||
<a name="text" val="2"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1420,1760)" name="Text">
|
||||
<a name="text" val="3"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1695,1905)" name="Text">
|
||||
<a name="text" val="0"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1775,1920)" name="Text">
|
||||
<a name="text" val="1"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1800,1915)" name="Text">
|
||||
<a name="text" val="2"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(1855,1915)" name="Text">
|
||||
<a name="text" val="3"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(285,2210)" name="Text">
|
||||
<a name="text" val="6"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(355,1690)" name="Text">
|
||||
<a name="text" val="0"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(390,1765)" name="Text">
|
||||
<a name="text" val="1"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(465,2020)" name="Text">
|
||||
<a name="text" val="4"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(465,2035)" name="Text">
|
||||
<a name="text" val="5"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(475,2110)" name="Text">
|
||||
<a name="text" val="7"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(480,1840)" name="Text">
|
||||
<a name="text" val="3"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(510,1880)" name="Text">
|
||||
<a name="text" val="2"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(700,1465)" name="Text">
|
||||
<a name="text" val="1"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(845,1300)" name="Text">
|
||||
<a name="text" val="1"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(870,1345)" name="Text">
|
||||
<a name="text" val="0"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(870,690)" name="Text">
|
||||
<a name="text" val="2"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(870,955)" name="Text">
|
||||
<a name="text" val="2"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(880,300)" name="Text">
|
||||
<a name="text" val="temp0"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(895,730)" name="Text">
|
||||
<a name="text" val="0"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(905,1910)" name="Text">
|
||||
<a name="text" val="2"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(930,1855)" name="Text">
|
||||
<a name="text" val="3"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(935,1785)" name="Text">
|
||||
<a name="text" val="1"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(950,715)" name="Text">
|
||||
<a name="text" val="temp3"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(955,380)" name="Text">
|
||||
<a name="text" val="temp1"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(975,930)" name="Text">
|
||||
<a name="text" val="3"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(990,545)" name="Text">
|
||||
<a name="text" val="add"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(995,750)" name="Text">
|
||||
<a name="text" val="1"/>
|
||||
</comp>
|
||||
<wire from="(100,1700)" to="(100,2000)"/>
|
||||
<wire from="(100,1700)" to="(180,1700)"/>
|
||||
<wire from="(100,2000)" to="(190,2000)"/>
|
||||
<wire from="(1000,1120)" to="(1140,1120)"/>
|
||||
<wire from="(1000,1140)" to="(1020,1140)"/>
|
||||
<wire from="(1000,1160)" to="(1030,1160)"/>
|
||||
<wire from="(1000,1180)" to="(1010,1180)"/>
|
||||
<wire from="(1000,1200)" to="(1040,1200)"/>
|
||||
<wire from="(1000,1220)" to="(1000,1250)"/>
|
||||
<wire from="(1010,1180)" to="(1010,1250)"/>
|
||||
<wire from="(1010,1250)" to="(1180,1250)"/>
|
||||
<wire from="(1020,1010)" to="(1020,1140)"/>
|
||||
<wire from="(1020,480)" to="(1020,590)"/>
|
||||
<wire from="(1030,1160)" to="(1030,1190)"/>
|
||||
<wire from="(1030,1190)" to="(1090,1190)"/>
|
||||
<wire from="(1030,1750)" to="(1030,2020)"/>
|
||||
<wire from="(1030,2020)" to="(1760,2020)"/>
|
||||
<wire from="(1040,1180)" to="(1040,1200)"/>
|
||||
<wire from="(1040,1180)" to="(1090,1180)"/>
|
||||
<wire from="(1040,1470)" to="(1040,1710)"/>
|
||||
<wire from="(1040,1710)" to="(1450,1710)"/>
|
||||
<wire from="(1050,1050)" to="(1050,1160)"/>
|
||||
<wire from="(1050,1160)" to="(1090,1160)"/>
|
||||
<wire from="(1050,1170)" to="(1050,1240)"/>
|
||||
<wire from="(1050,1170)" to="(1090,1170)"/>
|
||||
<wire from="(1080,590)" to="(1080,650)"/>
|
||||
<wire from="(1080,590)" to="(1190,590)"/>
|
||||
<wire from="(1110,1150)" to="(1130,1150)"/>
|
||||
<wire from="(1130,1150)" to="(1130,1270)"/>
|
||||
<wire from="(1140,1120)" to="(1140,1430)"/>
|
||||
<wire from="(1170,340)" to="(1170,630)"/>
|
||||
<wire from="(1170,690)" to="(1170,950)"/>
|
||||
<wire from="(1180,1250)" to="(1180,1490)"/>
|
||||
<wire from="(1190,590)" to="(1190,630)"/>
|
||||
<wire from="(1190,690)" to="(1190,830)"/>
|
||||
<wire from="(1190,830)" to="(1430,830)"/>
|
||||
<wire from="(1210,510)" to="(1210,630)"/>
|
||||
<wire from="(1210,510)" to="(1450,510)"/>
|
||||
<wire from="(1210,690)" to="(1210,940)"/>
|
||||
<wire from="(1220,1410)" to="(1220,1760)"/>
|
||||
<wire from="(1220,1760)" to="(1510,1760)"/>
|
||||
<wire from="(1230,390)" to="(1230,630)"/>
|
||||
<wire from="(1230,690)" to="(1230,730)"/>
|
||||
<wire from="(1250,590)" to="(1250,630)"/>
|
||||
<wire from="(1250,590)" to="(1310,590)"/>
|
||||
<wire from="(1250,690)" to="(1250,790)"/>
|
||||
<wire from="(1250,790)" to="(1490,790)"/>
|
||||
<wire from="(1270,540)" to="(1270,630)"/>
|
||||
<wire from="(1270,540)" to="(1510,540)"/>
|
||||
<wire from="(1310,590)" to="(1310,740)"/>
|
||||
<wire from="(1400,600)" to="(1400,1360)"/>
|
||||
<wire from="(1400,600)" to="(1470,600)"/>
|
||||
<wire from="(1430,700)" to="(1430,830)"/>
|
||||
<wire from="(1450,510)" to="(1450,640)"/>
|
||||
<wire from="(1450,700)" to="(1450,1710)"/>
|
||||
<wire from="(1470,600)" to="(1470,640)"/>
|
||||
<wire from="(1470,700)" to="(1470,780)"/>
|
||||
<wire from="(1470,780)" to="(1790,780)"/>
|
||||
<wire from="(1490,420)" to="(1490,640)"/>
|
||||
<wire from="(1490,420)" to="(1720,420)"/>
|
||||
<wire from="(1490,700)" to="(1490,790)"/>
|
||||
<wire from="(1510,540)" to="(1510,640)"/>
|
||||
<wire from="(1510,700)" to="(1510,1760)"/>
|
||||
<wire from="(1530,540)" to="(1530,640)"/>
|
||||
<wire from="(1530,540)" to="(1640,540)"/>
|
||||
<wire from="(1530,700)" to="(1530,750)"/>
|
||||
<wire from="(1530,750)" to="(1830,750)"/>
|
||||
<wire from="(1550,640)" to="(1760,640)"/>
|
||||
<wire from="(160,1830)" to="(160,1870)"/>
|
||||
<wire from="(160,1870)" to="(240,1870)"/>
|
||||
<wire from="(1630,1920)" to="(1630,2040)"/>
|
||||
<wire from="(1630,1920)" to="(1720,1920)"/>
|
||||
<wire from="(1630,2040)" to="(1760,2040)"/>
|
||||
<wire from="(1640,540)" to="(1640,1670)"/>
|
||||
<wire from="(1660,2000)" to="(1660,2190)"/>
|
||||
<wire from="(1660,2000)" to="(1760,2000)"/>
|
||||
<wire from="(1660,2190)" to="(2070,2190)"/>
|
||||
<wire from="(1690,2060)" to="(1690,2180)"/>
|
||||
<wire from="(1690,2060)" to="(1760,2060)"/>
|
||||
<wire from="(1690,2180)" to="(2070,2180)"/>
|
||||
<wire from="(170,2110)" to="(170,2150)"/>
|
||||
<wire from="(170,2150)" to="(250,2150)"/>
|
||||
<wire from="(1720,420)" to="(1720,1920)"/>
|
||||
<wire from="(1730,1910)" to="(1730,1960)"/>
|
||||
<wire from="(1730,1910)" to="(1760,1910)"/>
|
||||
<wire from="(1730,1960)" to="(1760,1960)"/>
|
||||
<wire from="(1760,640)" to="(1760,1910)"/>
|
||||
<wire from="(1790,1930)" to="(1850,1930)"/>
|
||||
<wire from="(1790,780)" to="(1790,1930)"/>
|
||||
<wire from="(180,1700)" to="(180,1720)"/>
|
||||
<wire from="(180,1720)" to="(180,1770)"/>
|
||||
<wire from="(180,1720)" to="(240,1720)"/>
|
||||
<wire from="(180,1830)" to="(180,1920)"/>
|
||||
<wire from="(180,1920)" to="(300,1920)"/>
|
||||
<wire from="(180,360)" to="(180,1700)"/>
|
||||
<wire from="(180,360)" to="(710,360)"/>
|
||||
<wire from="(1820,1980)" to="(1850,1980)"/>
|
||||
<wire from="(1820,2000)" to="(1920,2000)"/>
|
||||
<wire from="(1820,2020)" to="(1890,2020)"/>
|
||||
<wire from="(1820,2040)" to="(1940,2040)"/>
|
||||
<wire from="(1820,2060)" to="(1910,2060)"/>
|
||||
<wire from="(1820,2080)" to="(1820,2210)"/>
|
||||
<wire from="(1820,2210)" to="(2070,2210)"/>
|
||||
<wire from="(1830,1920)" to="(1940,1920)"/>
|
||||
<wire from="(1830,750)" to="(1830,1920)"/>
|
||||
<wire from="(1850,1930)" to="(1850,1980)"/>
|
||||
<wire from="(1890,2020)" to="(1890,2200)"/>
|
||||
<wire from="(1890,2200)" to="(2070,2200)"/>
|
||||
<wire from="(190,2000)" to="(190,2050)"/>
|
||||
<wire from="(190,2000)" to="(250,2000)"/>
|
||||
<wire from="(190,2110)" to="(190,2140)"/>
|
||||
<wire from="(190,2140)" to="(590,2140)"/>
|
||||
<wire from="(1910,2060)" to="(1910,2220)"/>
|
||||
<wire from="(1920,2000)" to="(1920,2270)"/>
|
||||
<wire from="(1940,1920)" to="(1940,2040)"/>
|
||||
<wire from="(1940,2220)" to="(1940,2290)"/>
|
||||
<wire from="(1940,2220)" to="(2070,2220)"/>
|
||||
<wire from="(1950,2230)" to="(1950,2310)"/>
|
||||
<wire from="(1950,2230)" to="(2070,2230)"/>
|
||||
<wire from="(1960,2240)" to="(1960,2340)"/>
|
||||
<wire from="(1960,2240)" to="(2070,2240)"/>
|
||||
<wire from="(1970,2250)" to="(1970,2320)"/>
|
||||
<wire from="(1970,2250)" to="(2070,2250)"/>
|
||||
<wire from="(200,1640)" to="(200,1770)"/>
|
||||
<wire from="(200,1640)" to="(410,1640)"/>
|
||||
<wire from="(200,1830)" to="(200,1890)"/>
|
||||
<wire from="(200,1890)" to="(940,1890)"/>
|
||||
<wire from="(2090,2070)" to="(2090,2170)"/>
|
||||
<wire from="(2090,2070)" to="(2110,2070)"/>
|
||||
<wire from="(210,1940)" to="(210,2050)"/>
|
||||
<wire from="(210,1940)" to="(550,1940)"/>
|
||||
<wire from="(210,2110)" to="(210,2210)"/>
|
||||
<wire from="(210,2210)" to="(270,2210)"/>
|
||||
<wire from="(220,1700)" to="(220,1770)"/>
|
||||
<wire from="(220,1700)" to="(360,1700)"/>
|
||||
<wire from="(220,1830)" to="(220,1850)"/>
|
||||
<wire from="(220,1850)" to="(390,1850)"/>
|
||||
<wire from="(230,2020)" to="(230,2050)"/>
|
||||
<wire from="(230,2020)" to="(930,2020)"/>
|
||||
<wire from="(230,2110)" to="(230,2130)"/>
|
||||
<wire from="(230,2130)" to="(580,2130)"/>
|
||||
<wire from="(240,1720)" to="(240,1770)"/>
|
||||
<wire from="(240,1720)" to="(320,1720)"/>
|
||||
<wire from="(240,1830)" to="(240,1870)"/>
|
||||
<wire from="(240,1870)" to="(320,1870)"/>
|
||||
<wire from="(250,2000)" to="(250,2050)"/>
|
||||
<wire from="(250,2000)" to="(330,2000)"/>
|
||||
<wire from="(250,2110)" to="(250,2150)"/>
|
||||
<wire from="(250,2150)" to="(330,2150)"/>
|
||||
<wire from="(260,1650)" to="(260,1770)"/>
|
||||
<wire from="(260,1650)" to="(410,1650)"/>
|
||||
<wire from="(260,1830)" to="(260,1840)"/>
|
||||
<wire from="(260,1840)" to="(960,1840)"/>
|
||||
<wire from="(270,1980)" to="(270,2050)"/>
|
||||
<wire from="(270,1980)" to="(540,1980)"/>
|
||||
<wire from="(270,2110)" to="(270,2120)"/>
|
||||
<wire from="(270,2120)" to="(480,2120)"/>
|
||||
<wire from="(270,2210)" to="(270,2340)"/>
|
||||
<wire from="(270,2340)" to="(1960,2340)"/>
|
||||
<wire from="(280,1280)" to="(340,1280)"/>
|
||||
<wire from="(280,1760)" to="(280,1770)"/>
|
||||
<wire from="(280,1760)" to="(970,1760)"/>
|
||||
<wire from="(280,410)" to="(280,1280)"/>
|
||||
<wire from="(280,410)" to="(670,410)"/>
|
||||
<wire from="(290,2030)" to="(290,2050)"/>
|
||||
<wire from="(290,2030)" to="(900,2030)"/>
|
||||
<wire from="(300,1660)" to="(300,1920)"/>
|
||||
<wire from="(300,1660)" to="(410,1660)"/>
|
||||
<wire from="(310,1270)" to="(340,1270)"/>
|
||||
<wire from="(310,420)" to="(310,1270)"/>
|
||||
<wire from="(310,420)" to="(680,420)"/>
|
||||
<wire from="(320,1720)" to="(320,1870)"/>
|
||||
<wire from="(320,90)" to="(360,90)"/>
|
||||
<wire from="(330,1260)" to="(340,1260)"/>
|
||||
<wire from="(330,2000)" to="(330,2150)"/>
|
||||
<wire from="(330,430)" to="(330,1260)"/>
|
||||
<wire from="(330,430)" to="(690,430)"/>
|
||||
<wire from="(360,1250)" to="(480,1250)"/>
|
||||
<wire from="(360,1700)" to="(360,1750)"/>
|
||||
<wire from="(360,1750)" to="(1030,1750)"/>
|
||||
<wire from="(380,50)" to="(380,60)"/>
|
||||
<wire from="(380,50)" to="(410,50)"/>
|
||||
<wire from="(380,70)" to="(410,70)"/>
|
||||
<wire from="(380,80)" to="(380,90)"/>
|
||||
<wire from="(380,90)" to="(410,90)"/>
|
||||
<wire from="(390,1290)" to="(400,1290)"/>
|
||||
<wire from="(390,1670)" to="(390,1850)"/>
|
||||
<wire from="(390,1670)" to="(410,1670)"/>
|
||||
<wire from="(390,550)" to="(390,1290)"/>
|
||||
<wire from="(390,550)" to="(470,550)"/>
|
||||
<wire from="(400,1270)" to="(430,1270)"/>
|
||||
<wire from="(400,1290)" to="(400,1390)"/>
|
||||
<wire from="(400,1290)" to="(480,1290)"/>
|
||||
<wire from="(400,1390)" to="(410,1390)"/>
|
||||
<wire from="(400,530)" to="(400,1270)"/>
|
||||
<wire from="(400,530)" to="(470,530)"/>
|
||||
<wire from="(410,1680)" to="(550,1680)"/>
|
||||
<wire from="(410,1690)" to="(540,1690)"/>
|
||||
<wire from="(410,1700)" to="(590,1700)"/>
|
||||
<wire from="(410,1710)" to="(580,1710)"/>
|
||||
<wire from="(430,1270)" to="(430,1390)"/>
|
||||
<wire from="(430,1270)" to="(480,1270)"/>
|
||||
<wire from="(430,1390)" to="(430,1400)"/>
|
||||
<wire from="(430,1610)" to="(430,1630)"/>
|
||||
<wire from="(430,510)" to="(470,510)"/>
|
||||
<wire from="(470,460)" to="(470,490)"/>
|
||||
<wire from="(480,1270)" to="(490,1270)"/>
|
||||
<wire from="(480,2120)" to="(480,2320)"/>
|
||||
<wire from="(480,2320)" to="(1970,2320)"/>
|
||||
<wire from="(490,440)" to="(730,440)"/>
|
||||
<wire from="(490,450)" to="(720,450)"/>
|
||||
<wire from="(540,1690)" to="(540,1980)"/>
|
||||
<wire from="(550,1680)" to="(550,1940)"/>
|
||||
<wire from="(580,1710)" to="(580,2130)"/>
|
||||
<wire from="(590,1700)" to="(590,2140)"/>
|
||||
<wire from="(630,50)" to="(650,50)"/>
|
||||
<wire from="(670,70)" to="(670,410)"/>
|
||||
<wire from="(680,70)" to="(680,420)"/>
|
||||
<wire from="(690,490)" to="(770,490)"/>
|
||||
<wire from="(690,510)" to="(780,510)"/>
|
||||
<wire from="(690,530)" to="(710,530)"/>
|
||||
<wire from="(690,550)" to="(700,550)"/>
|
||||
<wire from="(690,70)" to="(690,430)"/>
|
||||
<wire from="(700,1250)" to="(840,1250)"/>
|
||||
<wire from="(700,1270)" to="(1130,1270)"/>
|
||||
<wire from="(700,1290)" to="(760,1290)"/>
|
||||
<wire from="(700,550)" to="(700,560)"/>
|
||||
<wire from="(700,560)" to="(710,560)"/>
|
||||
<wire from="(710,70)" to="(710,360)"/>
|
||||
<wire from="(720,1450)" to="(720,1670)"/>
|
||||
<wire from="(720,1450)" to="(850,1450)"/>
|
||||
<wire from="(720,1670)" to="(1640,1670)"/>
|
||||
<wire from="(720,350)" to="(720,450)"/>
|
||||
<wire from="(720,350)" to="(760,350)"/>
|
||||
<wire from="(720,70)" to="(720,350)"/>
|
||||
<wire from="(730,400)" to="(730,440)"/>
|
||||
<wire from="(730,400)" to="(880,400)"/>
|
||||
<wire from="(730,70)" to="(730,400)"/>
|
||||
<wire from="(760,1290)" to="(760,1560)"/>
|
||||
<wire from="(760,1560)" to="(780,1560)"/>
|
||||
<wire from="(760,350)" to="(760,730)"/>
|
||||
<wire from="(760,730)" to="(760,900)"/>
|
||||
<wire from="(760,730)" to="(890,730)"/>
|
||||
<wire from="(760,900)" to="(780,900)"/>
|
||||
<wire from="(780,510)" to="(780,790)"/>
|
||||
<wire from="(780,790)" to="(790,790)"/>
|
||||
<wire from="(780,900)" to="(780,930)"/>
|
||||
<wire from="(780,900)" to="(870,900)"/>
|
||||
<wire from="(780,930)" to="(930,930)"/>
|
||||
<wire from="(790,1350)" to="(790,1430)"/>
|
||||
<wire from="(790,1350)" to="(900,1350)"/>
|
||||
<wire from="(790,1430)" to="(850,1430)"/>
|
||||
<wire from="(790,450)" to="(860,450)"/>
|
||||
<wire from="(790,460)" to="(920,460)"/>
|
||||
<wire from="(790,470)" to="(820,470)"/>
|
||||
<wire from="(790,480)" to="(790,610)"/>
|
||||
<wire from="(790,610)" to="(900,610)"/>
|
||||
<wire from="(790,790)" to="(790,840)"/>
|
||||
<wire from="(80,530)" to="(400,530)"/>
|
||||
<wire from="(80,550)" to="(390,550)"/>
|
||||
<wire from="(80,550)" to="(80,560)"/>
|
||||
<wire from="(800,1410)" to="(800,1520)"/>
|
||||
<wire from="(800,1410)" to="(850,1410)"/>
|
||||
<wire from="(800,1530)" to="(830,1530)"/>
|
||||
<wire from="(800,1540)" to="(940,1540)"/>
|
||||
<wire from="(800,1550)" to="(990,1550)"/>
|
||||
<wire from="(810,770)" to="(810,800)"/>
|
||||
<wire from="(810,770)" to="(870,770)"/>
|
||||
<wire from="(810,810)" to="(830,810)"/>
|
||||
<wire from="(810,820)" to="(830,820)"/>
|
||||
<wire from="(810,830)" to="(810,910)"/>
|
||||
<wire from="(810,910)" to="(910,910)"/>
|
||||
<wire from="(820,1010)" to="(1020,1010)"/>
|
||||
<wire from="(820,1010)" to="(820,1210)"/>
|
||||
<wire from="(820,1210)" to="(860,1210)"/>
|
||||
<wire from="(820,1300)" to="(820,1470)"/>
|
||||
<wire from="(820,1300)" to="(880,1300)"/>
|
||||
<wire from="(820,1470)" to="(850,1470)"/>
|
||||
<wire from="(820,470)" to="(820,590)"/>
|
||||
<wire from="(820,590)" to="(840,590)"/>
|
||||
<wire from="(830,1490)" to="(830,1530)"/>
|
||||
<wire from="(830,1490)" to="(850,1490)"/>
|
||||
<wire from="(830,760)" to="(830,810)"/>
|
||||
<wire from="(830,760)" to="(930,760)"/>
|
||||
<wire from="(830,820)" to="(830,880)"/>
|
||||
<wire from="(830,880)" to="(850,880)"/>
|
||||
<wire from="(840,1200)" to="(840,1250)"/>
|
||||
<wire from="(840,1360)" to="(1400,1360)"/>
|
||||
<wire from="(840,1360)" to="(840,1390)"/>
|
||||
<wire from="(840,1390)" to="(850,1390)"/>
|
||||
<wire from="(840,570)" to="(840,590)"/>
|
||||
<wire from="(850,860)" to="(850,880)"/>
|
||||
<wire from="(860,1120)" to="(860,1160)"/>
|
||||
<wire from="(860,1120)" to="(940,1120)"/>
|
||||
<wire from="(860,1170)" to="(920,1170)"/>
|
||||
<wire from="(860,1180)" to="(890,1180)"/>
|
||||
<wire from="(860,1190)" to="(860,1210)"/>
|
||||
<wire from="(860,450)" to="(860,510)"/>
|
||||
<wire from="(860,570)" to="(860,630)"/>
|
||||
<wire from="(860,630)" to="(980,630)"/>
|
||||
<wire from="(870,770)" to="(870,800)"/>
|
||||
<wire from="(870,860)" to="(870,900)"/>
|
||||
<wire from="(880,1160)" to="(880,1300)"/>
|
||||
<wire from="(880,1160)" to="(940,1160)"/>
|
||||
<wire from="(880,400)" to="(880,440)"/>
|
||||
<wire from="(880,440)" to="(880,510)"/>
|
||||
<wire from="(880,440)" to="(940,440)"/>
|
||||
<wire from="(880,570)" to="(880,690)"/>
|
||||
<wire from="(880,690)" to="(1150,690)"/>
|
||||
<wire from="(890,1180)" to="(890,1250)"/>
|
||||
<wire from="(890,1250)" to="(1000,1250)"/>
|
||||
<wire from="(890,730)" to="(890,750)"/>
|
||||
<wire from="(890,750)" to="(890,800)"/>
|
||||
<wire from="(890,750)" to="(950,750)"/>
|
||||
<wire from="(890,860)" to="(890,950)"/>
|
||||
<wire from="(890,950)" to="(1170,950)"/>
|
||||
<wire from="(900,1100)" to="(900,1350)"/>
|
||||
<wire from="(900,1100)" to="(940,1100)"/>
|
||||
<wire from="(900,2030)" to="(900,2310)"/>
|
||||
<wire from="(900,2310)" to="(1950,2310)"/>
|
||||
<wire from="(900,340)" to="(1170,340)"/>
|
||||
<wire from="(900,340)" to="(900,510)"/>
|
||||
<wire from="(900,570)" to="(900,610)"/>
|
||||
<wire from="(910,1200)" to="(910,1240)"/>
|
||||
<wire from="(910,1200)" to="(940,1200)"/>
|
||||
<wire from="(910,1240)" to="(1050,1240)"/>
|
||||
<wire from="(910,1410)" to="(1220,1410)"/>
|
||||
<wire from="(910,1430)" to="(1140,1430)"/>
|
||||
<wire from="(910,1450)" to="(990,1450)"/>
|
||||
<wire from="(910,1470)" to="(1040,1470)"/>
|
||||
<wire from="(910,1490)" to="(1180,1490)"/>
|
||||
<wire from="(910,1510)" to="(940,1510)"/>
|
||||
<wire from="(910,650)" to="(1080,650)"/>
|
||||
<wire from="(910,650)" to="(910,800)"/>
|
||||
<wire from="(910,860)" to="(910,910)"/>
|
||||
<wire from="(920,1050)" to="(1050,1050)"/>
|
||||
<wire from="(920,1050)" to="(920,1140)"/>
|
||||
<wire from="(920,1140)" to="(940,1140)"/>
|
||||
<wire from="(920,1170)" to="(920,1180)"/>
|
||||
<wire from="(920,1180)" to="(940,1180)"/>
|
||||
<wire from="(920,460)" to="(920,510)"/>
|
||||
<wire from="(920,570)" to="(920,590)"/>
|
||||
<wire from="(920,590)" to="(980,590)"/>
|
||||
<wire from="(930,2020)" to="(930,2290)"/>
|
||||
<wire from="(930,2290)" to="(1940,2290)"/>
|
||||
<wire from="(930,760)" to="(930,800)"/>
|
||||
<wire from="(930,860)" to="(930,930)"/>
|
||||
<wire from="(940,1510)" to="(940,1540)"/>
|
||||
<wire from="(940,1890)" to="(940,2270)"/>
|
||||
<wire from="(940,2270)" to="(1920,2270)"/>
|
||||
<wire from="(940,440)" to="(940,480)"/>
|
||||
<wire from="(940,480)" to="(1020,480)"/>
|
||||
<wire from="(940,480)" to="(940,510)"/>
|
||||
<wire from="(940,570)" to="(940,730)"/>
|
||||
<wire from="(940,730)" to="(1230,730)"/>
|
||||
<wire from="(950,750)" to="(950,800)"/>
|
||||
<wire from="(950,860)" to="(950,940)"/>
|
||||
<wire from="(950,940)" to="(1210,940)"/>
|
||||
<wire from="(960,1840)" to="(960,2220)"/>
|
||||
<wire from="(960,2220)" to="(1910,2220)"/>
|
||||
<wire from="(960,390)" to="(1230,390)"/>
|
||||
<wire from="(960,390)" to="(960,510)"/>
|
||||
<wire from="(970,1760)" to="(970,1980)"/>
|
||||
<wire from="(970,1980)" to="(1760,1980)"/>
|
||||
<wire from="(970,740)" to="(1310,740)"/>
|
||||
<wire from="(970,740)" to="(970,800)"/>
|
||||
<wire from="(980,590)" to="(1020,590)"/>
|
||||
<wire from="(980,590)" to="(980,630)"/>
|
||||
<wire from="(990,1450)" to="(990,1550)"/>
|
||||
</circuit>
|
||||
</project>
|
276
logisim/alutest.circ
Normal file
@ -0,0 +1,276 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project source="3.9.0" version="1.0">
|
||||
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
|
||||
|
||||
<lib desc="#Wiring" name="0">
|
||||
<tool name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
<tool name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</tool>
|
||||
<tool name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#Gates" name="1"/>
|
||||
<lib desc="#Plexers" name="2"/>
|
||||
<lib desc="#Arithmetic" name="3"/>
|
||||
<lib desc="#Memory" name="4"/>
|
||||
<lib desc="#I/O" name="5"/>
|
||||
<lib desc="#TTL" name="6">
|
||||
<tool name="7432">
|
||||
<a name="facing" val="south"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#TCL" name="7"/>
|
||||
<lib desc="#Base" name="8"/>
|
||||
<lib desc="#BFH-Praktika" name="9"/>
|
||||
<lib desc="#Input/Output-Extra" name="10"/>
|
||||
<lib desc="#Soc" name="11"/>
|
||||
<lib desc="file#alu.circ" name="12"/>
|
||||
<main name="main"/>
|
||||
<options>
|
||||
<a name="gateUndefined" val="ignore"/>
|
||||
<a name="simlimit" val="1000"/>
|
||||
<a name="simrand" val="0"/>
|
||||
</options>
|
||||
<mappings>
|
||||
<tool lib="8" map="Button2" name="Poke Tool"/>
|
||||
<tool lib="8" map="Button3" name="Menu Tool"/>
|
||||
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
|
||||
</mappings>
|
||||
<toolbar>
|
||||
<tool lib="8" name="Poke Tool"/>
|
||||
<tool lib="8" name="Edit Tool"/>
|
||||
<tool lib="8" name="Wiring Tool"/>
|
||||
<tool lib="8" name="Text Tool"/>
|
||||
<sep/>
|
||||
<tool lib="0" name="Pin"/>
|
||||
<tool lib="0" name="Pin">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="output" val="true"/>
|
||||
</tool>
|
||||
<sep/>
|
||||
<tool lib="1" name="NOT Gate"/>
|
||||
<tool lib="1" name="AND Gate"/>
|
||||
<tool lib="1" name="OR Gate"/>
|
||||
<tool lib="1" name="XOR Gate"/>
|
||||
<tool lib="1" name="NAND Gate"/>
|
||||
<tool lib="1" name="NOR Gate"/>
|
||||
<sep/>
|
||||
<tool lib="4" name="D Flip-Flop"/>
|
||||
<tool lib="4" name="Register"/>
|
||||
</toolbar>
|
||||
<circuit name="main">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="main"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(100,630)" name="Splitter">
|
||||
<a name="facing" val="south"/>
|
||||
<a name="fanout" val="3"/>
|
||||
<a name="incoming" val="3"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(120,530)" name="Splitter">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(140,560)" name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(190,510)" name="Splitter">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(220,370)" name="Ground"/>
|
||||
<comp lib="0" loc="(240,260)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(450,450)" name="Ground"/>
|
||||
<comp lib="0" loc="(470,340)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(540,650)" name="Splitter">
|
||||
<a name="fanout" val="8"/>
|
||||
<a name="incoming" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(580,670)" name="Ground"/>
|
||||
<comp lib="0" loc="(600,560)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="12" loc="(450,610)" name="alu"/>
|
||||
<comp lib="5" loc="(100,670)" name="DipSwitch">
|
||||
<a name="number" val="3"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(180,160)" name="DipSwitch">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(280,130)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(340,130)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(400,130)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(470,560)" name="LED">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(500,560)" name="LED">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(510,210)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(570,210)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(630,210)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(640,430)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(700,430)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(760,430)" name="7-Segment Display"/>
|
||||
<comp lib="8" loc="(115,860)" name="Text">
|
||||
<a name="text" val="101 or"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(115,890)" name="Text">
|
||||
<a name="text" val="110 xor"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(120,745)" name="Text">
|
||||
<a name="text" val="000 add"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(120,775)" name="Text">
|
||||
<a name="text" val="001 sub"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(120,800)" name="Text">
|
||||
<a name="text" val="010 mult"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(120,830)" name="Text">
|
||||
<a name="text" val="100 and"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(320,85)" name="Text">
|
||||
<a name="text" val="A"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(560,170)" name="Text">
|
||||
<a name="text" val="B"/>
|
||||
</comp>
|
||||
<comp lib="9" loc="(280,130)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(290,260)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(340,130)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(400,130)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(510,210)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(520,340)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(570,210)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(630,210)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(640,430)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(650,560)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(700,430)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(760,430)" name="BCD_to_7_Segment_decoder"/>
|
||||
<wire from="(100,340)" to="(100,420)"/>
|
||||
<wire from="(100,420)" to="(100,510)"/>
|
||||
<wire from="(100,420)" to="(360,420)"/>
|
||||
<wire from="(100,610)" to="(100,630)"/>
|
||||
<wire from="(100,610)" to="(230,610)"/>
|
||||
<wire from="(110,160)" to="(110,190)"/>
|
||||
<wire from="(110,510)" to="(140,510)"/>
|
||||
<wire from="(110,650)" to="(110,670)"/>
|
||||
<wire from="(120,160)" to="(120,200)"/>
|
||||
<wire from="(120,530)" to="(140,530)"/>
|
||||
<wire from="(120,650)" to="(120,670)"/>
|
||||
<wire from="(130,160)" to="(130,360)"/>
|
||||
<wire from="(130,360)" to="(140,360)"/>
|
||||
<wire from="(130,650)" to="(130,670)"/>
|
||||
<wire from="(140,160)" to="(140,300)"/>
|
||||
<wire from="(140,300)" to="(140,350)"/>
|
||||
<wire from="(140,300)" to="(220,300)"/>
|
||||
<wire from="(140,350)" to="(150,350)"/>
|
||||
<wire from="(140,360)" to="(140,400)"/>
|
||||
<wire from="(140,400)" to="(140,510)"/>
|
||||
<wire from="(140,400)" to="(350,400)"/>
|
||||
<wire from="(140,530)" to="(140,540)"/>
|
||||
<wire from="(140,540)" to="(180,540)"/>
|
||||
<wire from="(140,560)" to="(150,560)"/>
|
||||
<wire from="(150,160)" to="(150,290)"/>
|
||||
<wire from="(150,290)" to="(150,340)"/>
|
||||
<wire from="(150,290)" to="(220,290)"/>
|
||||
<wire from="(150,340)" to="(160,340)"/>
|
||||
<wire from="(150,350)" to="(150,490)"/>
|
||||
<wire from="(150,560)" to="(150,630)"/>
|
||||
<wire from="(150,630)" to="(230,630)"/>
|
||||
<wire from="(160,160)" to="(160,280)"/>
|
||||
<wire from="(160,280)" to="(160,330)"/>
|
||||
<wire from="(160,280)" to="(220,280)"/>
|
||||
<wire from="(160,330)" to="(170,330)"/>
|
||||
<wire from="(160,340)" to="(160,490)"/>
|
||||
<wire from="(170,160)" to="(170,270)"/>
|
||||
<wire from="(170,270)" to="(170,320)"/>
|
||||
<wire from="(170,270)" to="(220,270)"/>
|
||||
<wire from="(170,320)" to="(180,320)"/>
|
||||
<wire from="(170,330)" to="(170,490)"/>
|
||||
<wire from="(180,320)" to="(180,490)"/>
|
||||
<wire from="(180,540)" to="(180,670)"/>
|
||||
<wire from="(180,670)" to="(230,670)"/>
|
||||
<wire from="(190,510)" to="(190,520)"/>
|
||||
<wire from="(190,520)" to="(210,520)"/>
|
||||
<wire from="(210,520)" to="(210,650)"/>
|
||||
<wire from="(210,650)" to="(230,650)"/>
|
||||
<wire from="(220,310)" to="(220,320)"/>
|
||||
<wire from="(220,320)" to="(220,330)"/>
|
||||
<wire from="(220,330)" to="(220,340)"/>
|
||||
<wire from="(220,340)" to="(220,350)"/>
|
||||
<wire from="(220,350)" to="(220,370)"/>
|
||||
<wire from="(240,260)" to="(260,260)"/>
|
||||
<wire from="(290,210)" to="(290,240)"/>
|
||||
<wire from="(350,210)" to="(350,240)"/>
|
||||
<wire from="(350,350)" to="(350,400)"/>
|
||||
<wire from="(350,350)" to="(450,350)"/>
|
||||
<wire from="(360,360)" to="(360,420)"/>
|
||||
<wire from="(360,360)" to="(450,360)"/>
|
||||
<wire from="(370,370)" to="(370,440)"/>
|
||||
<wire from="(370,370)" to="(450,370)"/>
|
||||
<wire from="(380,380)" to="(380,450)"/>
|
||||
<wire from="(380,380)" to="(450,380)"/>
|
||||
<wire from="(410,210)" to="(410,240)"/>
|
||||
<wire from="(450,390)" to="(450,400)"/>
|
||||
<wire from="(450,400)" to="(450,410)"/>
|
||||
<wire from="(450,410)" to="(450,420)"/>
|
||||
<wire from="(450,420)" to="(450,430)"/>
|
||||
<wire from="(450,430)" to="(450,450)"/>
|
||||
<wire from="(450,610)" to="(470,610)"/>
|
||||
<wire from="(450,630)" to="(500,630)"/>
|
||||
<wire from="(450,650)" to="(540,650)"/>
|
||||
<wire from="(470,340)" to="(490,340)"/>
|
||||
<wire from="(470,560)" to="(470,610)"/>
|
||||
<wire from="(500,560)" to="(500,630)"/>
|
||||
<wire from="(520,290)" to="(520,320)"/>
|
||||
<wire from="(560,570)" to="(580,570)"/>
|
||||
<wire from="(560,580)" to="(580,580)"/>
|
||||
<wire from="(560,590)" to="(580,590)"/>
|
||||
<wire from="(560,600)" to="(580,600)"/>
|
||||
<wire from="(560,610)" to="(580,610)"/>
|
||||
<wire from="(560,620)" to="(580,620)"/>
|
||||
<wire from="(560,630)" to="(580,630)"/>
|
||||
<wire from="(560,640)" to="(580,640)"/>
|
||||
<wire from="(580,290)" to="(580,320)"/>
|
||||
<wire from="(580,650)" to="(580,670)"/>
|
||||
<wire from="(600,560)" to="(620,560)"/>
|
||||
<wire from="(640,290)" to="(640,320)"/>
|
||||
<wire from="(650,510)" to="(650,540)"/>
|
||||
<wire from="(70,160)" to="(100,160)"/>
|
||||
<wire from="(70,160)" to="(70,360)"/>
|
||||
<wire from="(70,360)" to="(80,360)"/>
|
||||
<wire from="(710,510)" to="(710,540)"/>
|
||||
<wire from="(770,510)" to="(770,540)"/>
|
||||
<wire from="(80,190)" to="(110,190)"/>
|
||||
<wire from="(80,190)" to="(80,350)"/>
|
||||
<wire from="(80,350)" to="(90,350)"/>
|
||||
<wire from="(80,360)" to="(80,450)"/>
|
||||
<wire from="(80,450)" to="(380,450)"/>
|
||||
<wire from="(80,450)" to="(80,510)"/>
|
||||
<wire from="(90,200)" to="(120,200)"/>
|
||||
<wire from="(90,200)" to="(90,340)"/>
|
||||
<wire from="(90,340)" to="(100,340)"/>
|
||||
<wire from="(90,350)" to="(90,440)"/>
|
||||
<wire from="(90,440)" to="(370,440)"/>
|
||||
<wire from="(90,440)" to="(90,510)"/>
|
||||
</circuit>
|
||||
</project>
|
276
logisim/alutest3.circ
Normal file
@ -0,0 +1,276 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project source="3.9.0" version="1.0">
|
||||
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
|
||||
|
||||
<lib desc="#Wiring" name="0">
|
||||
<tool name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
<tool name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</tool>
|
||||
<tool name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#Gates" name="1"/>
|
||||
<lib desc="#Plexers" name="2"/>
|
||||
<lib desc="#Arithmetic" name="3"/>
|
||||
<lib desc="#Memory" name="4"/>
|
||||
<lib desc="#I/O" name="5"/>
|
||||
<lib desc="#TTL" name="6">
|
||||
<tool name="7432">
|
||||
<a name="facing" val="south"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#TCL" name="7"/>
|
||||
<lib desc="#Base" name="8"/>
|
||||
<lib desc="#BFH-Praktika" name="9"/>
|
||||
<lib desc="#Input/Output-Extra" name="10"/>
|
||||
<lib desc="#Soc" name="11"/>
|
||||
<lib desc="file#alu2.circ" name="12"/>
|
||||
<main name="main"/>
|
||||
<options>
|
||||
<a name="gateUndefined" val="ignore"/>
|
||||
<a name="simlimit" val="1000"/>
|
||||
<a name="simrand" val="0"/>
|
||||
</options>
|
||||
<mappings>
|
||||
<tool lib="8" map="Button2" name="Poke Tool"/>
|
||||
<tool lib="8" map="Button3" name="Menu Tool"/>
|
||||
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
|
||||
</mappings>
|
||||
<toolbar>
|
||||
<tool lib="8" name="Poke Tool"/>
|
||||
<tool lib="8" name="Edit Tool"/>
|
||||
<tool lib="8" name="Wiring Tool"/>
|
||||
<tool lib="8" name="Text Tool"/>
|
||||
<sep/>
|
||||
<tool lib="0" name="Pin"/>
|
||||
<tool lib="0" name="Pin">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="output" val="true"/>
|
||||
</tool>
|
||||
<sep/>
|
||||
<tool lib="1" name="NOT Gate"/>
|
||||
<tool lib="1" name="AND Gate"/>
|
||||
<tool lib="1" name="OR Gate"/>
|
||||
<tool lib="1" name="XOR Gate"/>
|
||||
<tool lib="1" name="NAND Gate"/>
|
||||
<tool lib="1" name="NOR Gate"/>
|
||||
<sep/>
|
||||
<tool lib="4" name="D Flip-Flop"/>
|
||||
<tool lib="4" name="Register"/>
|
||||
</toolbar>
|
||||
<circuit name="main">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="main"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(100,630)" name="Splitter">
|
||||
<a name="facing" val="south"/>
|
||||
<a name="fanout" val="3"/>
|
||||
<a name="incoming" val="3"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(120,530)" name="Splitter">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(140,560)" name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(190,510)" name="Splitter">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(220,370)" name="Ground"/>
|
||||
<comp lib="0" loc="(240,260)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(450,450)" name="Ground"/>
|
||||
<comp lib="0" loc="(470,340)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(540,650)" name="Splitter">
|
||||
<a name="fanout" val="8"/>
|
||||
<a name="incoming" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(580,670)" name="Ground"/>
|
||||
<comp lib="0" loc="(600,560)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="12" loc="(450,610)" name="alu"/>
|
||||
<comp lib="5" loc="(100,670)" name="DipSwitch">
|
||||
<a name="number" val="3"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(180,160)" name="DipSwitch">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(280,130)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(340,130)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(400,130)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(470,560)" name="LED">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(500,560)" name="LED">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(510,210)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(570,210)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(630,210)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(640,430)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(700,430)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(760,430)" name="7-Segment Display"/>
|
||||
<comp lib="8" loc="(117,861)" name="Text">
|
||||
<a name="text" val="101 or"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(119,890)" name="Text">
|
||||
<a name="text" val="110 xor"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(120,834)" name="Text">
|
||||
<a name="text" val="100 and"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(121,777)" name="Text">
|
||||
<a name="text" val="001 sub"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(122,748)" name="Text">
|
||||
<a name="text" val="000 add"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(124,804)" name="Text">
|
||||
<a name="text" val="010 mult"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(324,88)" name="Text">
|
||||
<a name="text" val="A"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(560,173)" name="Text">
|
||||
<a name="text" val="B"/>
|
||||
</comp>
|
||||
<comp lib="9" loc="(280,130)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(290,260)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(340,130)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(400,130)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(510,210)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(520,340)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(570,210)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(630,210)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(640,430)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(650,560)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(700,430)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(760,430)" name="BCD_to_7_Segment_decoder"/>
|
||||
<wire from="(100,340)" to="(100,420)"/>
|
||||
<wire from="(100,420)" to="(100,510)"/>
|
||||
<wire from="(100,420)" to="(360,420)"/>
|
||||
<wire from="(100,610)" to="(100,630)"/>
|
||||
<wire from="(100,610)" to="(230,610)"/>
|
||||
<wire from="(110,160)" to="(110,190)"/>
|
||||
<wire from="(110,510)" to="(140,510)"/>
|
||||
<wire from="(110,650)" to="(110,670)"/>
|
||||
<wire from="(120,160)" to="(120,200)"/>
|
||||
<wire from="(120,530)" to="(140,530)"/>
|
||||
<wire from="(120,650)" to="(120,670)"/>
|
||||
<wire from="(130,160)" to="(130,360)"/>
|
||||
<wire from="(130,360)" to="(140,360)"/>
|
||||
<wire from="(130,650)" to="(130,670)"/>
|
||||
<wire from="(140,160)" to="(140,300)"/>
|
||||
<wire from="(140,300)" to="(140,350)"/>
|
||||
<wire from="(140,300)" to="(220,300)"/>
|
||||
<wire from="(140,350)" to="(150,350)"/>
|
||||
<wire from="(140,360)" to="(140,400)"/>
|
||||
<wire from="(140,400)" to="(140,510)"/>
|
||||
<wire from="(140,400)" to="(350,400)"/>
|
||||
<wire from="(140,530)" to="(140,540)"/>
|
||||
<wire from="(140,540)" to="(180,540)"/>
|
||||
<wire from="(140,560)" to="(150,560)"/>
|
||||
<wire from="(150,160)" to="(150,290)"/>
|
||||
<wire from="(150,290)" to="(150,340)"/>
|
||||
<wire from="(150,290)" to="(220,290)"/>
|
||||
<wire from="(150,340)" to="(160,340)"/>
|
||||
<wire from="(150,350)" to="(150,490)"/>
|
||||
<wire from="(150,560)" to="(150,630)"/>
|
||||
<wire from="(150,630)" to="(230,630)"/>
|
||||
<wire from="(160,160)" to="(160,280)"/>
|
||||
<wire from="(160,280)" to="(160,330)"/>
|
||||
<wire from="(160,280)" to="(220,280)"/>
|
||||
<wire from="(160,330)" to="(170,330)"/>
|
||||
<wire from="(160,340)" to="(160,490)"/>
|
||||
<wire from="(170,160)" to="(170,270)"/>
|
||||
<wire from="(170,270)" to="(170,320)"/>
|
||||
<wire from="(170,270)" to="(220,270)"/>
|
||||
<wire from="(170,320)" to="(180,320)"/>
|
||||
<wire from="(170,330)" to="(170,490)"/>
|
||||
<wire from="(180,320)" to="(180,490)"/>
|
||||
<wire from="(180,540)" to="(180,670)"/>
|
||||
<wire from="(180,670)" to="(230,670)"/>
|
||||
<wire from="(190,510)" to="(190,520)"/>
|
||||
<wire from="(190,520)" to="(210,520)"/>
|
||||
<wire from="(210,520)" to="(210,650)"/>
|
||||
<wire from="(210,650)" to="(230,650)"/>
|
||||
<wire from="(220,310)" to="(220,320)"/>
|
||||
<wire from="(220,320)" to="(220,330)"/>
|
||||
<wire from="(220,330)" to="(220,340)"/>
|
||||
<wire from="(220,340)" to="(220,350)"/>
|
||||
<wire from="(220,350)" to="(220,370)"/>
|
||||
<wire from="(240,260)" to="(260,260)"/>
|
||||
<wire from="(290,210)" to="(290,240)"/>
|
||||
<wire from="(350,210)" to="(350,240)"/>
|
||||
<wire from="(350,350)" to="(350,400)"/>
|
||||
<wire from="(350,350)" to="(450,350)"/>
|
||||
<wire from="(360,360)" to="(360,420)"/>
|
||||
<wire from="(360,360)" to="(450,360)"/>
|
||||
<wire from="(370,370)" to="(370,440)"/>
|
||||
<wire from="(370,370)" to="(450,370)"/>
|
||||
<wire from="(380,380)" to="(380,450)"/>
|
||||
<wire from="(380,380)" to="(450,380)"/>
|
||||
<wire from="(410,210)" to="(410,240)"/>
|
||||
<wire from="(450,390)" to="(450,400)"/>
|
||||
<wire from="(450,400)" to="(450,410)"/>
|
||||
<wire from="(450,410)" to="(450,420)"/>
|
||||
<wire from="(450,420)" to="(450,430)"/>
|
||||
<wire from="(450,430)" to="(450,450)"/>
|
||||
<wire from="(450,610)" to="(470,610)"/>
|
||||
<wire from="(450,630)" to="(500,630)"/>
|
||||
<wire from="(450,650)" to="(540,650)"/>
|
||||
<wire from="(470,340)" to="(490,340)"/>
|
||||
<wire from="(470,560)" to="(470,610)"/>
|
||||
<wire from="(500,560)" to="(500,630)"/>
|
||||
<wire from="(520,290)" to="(520,320)"/>
|
||||
<wire from="(560,570)" to="(580,570)"/>
|
||||
<wire from="(560,580)" to="(580,580)"/>
|
||||
<wire from="(560,590)" to="(580,590)"/>
|
||||
<wire from="(560,600)" to="(580,600)"/>
|
||||
<wire from="(560,610)" to="(580,610)"/>
|
||||
<wire from="(560,620)" to="(580,620)"/>
|
||||
<wire from="(560,630)" to="(580,630)"/>
|
||||
<wire from="(560,640)" to="(580,640)"/>
|
||||
<wire from="(580,290)" to="(580,320)"/>
|
||||
<wire from="(580,650)" to="(580,670)"/>
|
||||
<wire from="(600,560)" to="(620,560)"/>
|
||||
<wire from="(640,290)" to="(640,320)"/>
|
||||
<wire from="(650,510)" to="(650,540)"/>
|
||||
<wire from="(70,160)" to="(100,160)"/>
|
||||
<wire from="(70,160)" to="(70,360)"/>
|
||||
<wire from="(70,360)" to="(80,360)"/>
|
||||
<wire from="(710,510)" to="(710,540)"/>
|
||||
<wire from="(770,510)" to="(770,540)"/>
|
||||
<wire from="(80,190)" to="(110,190)"/>
|
||||
<wire from="(80,190)" to="(80,350)"/>
|
||||
<wire from="(80,350)" to="(90,350)"/>
|
||||
<wire from="(80,360)" to="(80,450)"/>
|
||||
<wire from="(80,450)" to="(380,450)"/>
|
||||
<wire from="(80,450)" to="(80,510)"/>
|
||||
<wire from="(90,200)" to="(120,200)"/>
|
||||
<wire from="(90,200)" to="(90,340)"/>
|
||||
<wire from="(90,340)" to="(100,340)"/>
|
||||
<wire from="(90,350)" to="(90,440)"/>
|
||||
<wire from="(90,440)" to="(370,440)"/>
|
||||
<wire from="(90,440)" to="(90,510)"/>
|
||||
</circuit>
|
||||
</project>
|
1375
logisim/arithmeticunit.circ
Normal file
299
logisim/autest.circ
Normal file
@ -0,0 +1,299 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project source="3.9.0" version="1.0">
|
||||
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
|
||||
|
||||
<lib desc="#Wiring" name="0">
|
||||
<tool name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
<tool name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</tool>
|
||||
<tool name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#Gates" name="1"/>
|
||||
<lib desc="#Plexers" name="2"/>
|
||||
<lib desc="#Arithmetic" name="3"/>
|
||||
<lib desc="#Memory" name="4"/>
|
||||
<lib desc="#I/O" name="5"/>
|
||||
<lib desc="#TTL" name="6">
|
||||
<tool name="7432">
|
||||
<a name="facing" val="south"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#TCL" name="7"/>
|
||||
<lib desc="#Base" name="8"/>
|
||||
<lib desc="#BFH-Praktika" name="9"/>
|
||||
<lib desc="#Input/Output-Extra" name="10"/>
|
||||
<lib desc="#Soc" name="11"/>
|
||||
<lib desc="file#arithmeticunit.circ" name="12"/>
|
||||
<main name="main"/>
|
||||
<options>
|
||||
<a name="gateUndefined" val="ignore"/>
|
||||
<a name="simlimit" val="1000"/>
|
||||
<a name="simrand" val="0"/>
|
||||
</options>
|
||||
<mappings>
|
||||
<tool lib="8" map="Button2" name="Poke Tool"/>
|
||||
<tool lib="8" map="Button3" name="Menu Tool"/>
|
||||
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
|
||||
</mappings>
|
||||
<toolbar>
|
||||
<tool lib="8" name="Poke Tool"/>
|
||||
<tool lib="8" name="Edit Tool"/>
|
||||
<tool lib="8" name="Wiring Tool"/>
|
||||
<tool lib="8" name="Text Tool"/>
|
||||
<sep/>
|
||||
<tool lib="0" name="Pin"/>
|
||||
<tool lib="0" name="Pin">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="output" val="true"/>
|
||||
</tool>
|
||||
<sep/>
|
||||
<tool lib="1" name="NOT Gate"/>
|
||||
<tool lib="1" name="AND Gate"/>
|
||||
<tool lib="1" name="OR Gate"/>
|
||||
<tool lib="1" name="XOR Gate"/>
|
||||
<tool lib="1" name="NAND Gate"/>
|
||||
<tool lib="1" name="NOR Gate"/>
|
||||
<sep/>
|
||||
<tool lib="4" name="D Flip-Flop"/>
|
||||
<tool lib="4" name="Register"/>
|
||||
</toolbar>
|
||||
<circuit name="main">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="main"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(100,680)" name="Splitter">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(120,580)" name="Splitter">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(140,610)" name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(190,560)" name="Splitter">
|
||||
<a name="facing" val="north"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(220,420)" name="Ground"/>
|
||||
<comp lib="0" loc="(240,310)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(450,500)" name="Ground"/>
|
||||
<comp lib="0" loc="(470,390)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(590,650)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(630,710)" name="Ground"/>
|
||||
<comp lib="0" loc="(650,600)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(900,640)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(940,700)" name="Ground"/>
|
||||
<comp lib="0" loc="(960,590)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="9"/>
|
||||
<a name="incoming" val="9"/>
|
||||
</comp>
|
||||
<comp lib="12" loc="(450,660)" name="arithmeticUnit"/>
|
||||
<comp lib="5" loc="(100,700)" name="DipSwitch">
|
||||
<a name="number" val="2"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(1000,460)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(1060,460)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(1120,460)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(180,210)" name="DipSwitch">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(280,180)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(340,180)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(400,180)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(460,840)" name="LED">
|
||||
<a name="facing" val="north"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(490,840)" name="LED">
|
||||
<a name="facing" val="north"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(510,260)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(570,260)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(630,260)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(690,470)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(750,470)" name="7-Segment Display"/>
|
||||
<comp lib="5" loc="(810,470)" name="7-Segment Display"/>
|
||||
<comp lib="8" loc="(108,789)" name="Text">
|
||||
<a name="text" val="switch 1 sub"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(112,763)" name="Text">
|
||||
<a name="text" val="switch 2 add"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(119,815)" name="Text">
|
||||
<a name="text" val="decoded opcode"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(333,149)" name="Text">
|
||||
<a name="text" val="A"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(560,220)" name="Text">
|
||||
<a name="text" val="B"/>
|
||||
</comp>
|
||||
<comp lib="9" loc="(1000,460)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(1010,590)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(1060,460)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(1120,460)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(280,180)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(290,310)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(340,180)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(400,180)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(510,260)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(520,390)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(570,260)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(630,260)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(690,470)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(700,600)" name="Binary_to_BCD_converter"/>
|
||||
<comp lib="9" loc="(750,470)" name="BCD_to_7_Segment_decoder"/>
|
||||
<comp lib="9" loc="(810,470)" name="BCD_to_7_Segment_decoder"/>
|
||||
<wire from="(100,390)" to="(100,470)"/>
|
||||
<wire from="(100,470)" to="(100,560)"/>
|
||||
<wire from="(100,470)" to="(360,470)"/>
|
||||
<wire from="(100,660)" to="(100,680)"/>
|
||||
<wire from="(100,660)" to="(230,660)"/>
|
||||
<wire from="(1010,540)" to="(1010,570)"/>
|
||||
<wire from="(1070,540)" to="(1070,570)"/>
|
||||
<wire from="(110,210)" to="(110,240)"/>
|
||||
<wire from="(110,560)" to="(140,560)"/>
|
||||
<wire from="(1130,540)" to="(1130,570)"/>
|
||||
<wire from="(120,210)" to="(120,250)"/>
|
||||
<wire from="(120,580)" to="(140,580)"/>
|
||||
<wire from="(130,210)" to="(130,410)"/>
|
||||
<wire from="(130,410)" to="(140,410)"/>
|
||||
<wire from="(140,210)" to="(140,350)"/>
|
||||
<wire from="(140,350)" to="(140,400)"/>
|
||||
<wire from="(140,350)" to="(220,350)"/>
|
||||
<wire from="(140,400)" to="(150,400)"/>
|
||||
<wire from="(140,410)" to="(140,450)"/>
|
||||
<wire from="(140,450)" to="(140,560)"/>
|
||||
<wire from="(140,450)" to="(350,450)"/>
|
||||
<wire from="(140,580)" to="(140,590)"/>
|
||||
<wire from="(140,590)" to="(180,590)"/>
|
||||
<wire from="(140,610)" to="(150,610)"/>
|
||||
<wire from="(150,210)" to="(150,340)"/>
|
||||
<wire from="(150,340)" to="(150,390)"/>
|
||||
<wire from="(150,340)" to="(220,340)"/>
|
||||
<wire from="(150,390)" to="(160,390)"/>
|
||||
<wire from="(150,400)" to="(150,540)"/>
|
||||
<wire from="(150,610)" to="(150,680)"/>
|
||||
<wire from="(150,680)" to="(230,680)"/>
|
||||
<wire from="(160,210)" to="(160,330)"/>
|
||||
<wire from="(160,330)" to="(160,380)"/>
|
||||
<wire from="(160,330)" to="(220,330)"/>
|
||||
<wire from="(160,380)" to="(170,380)"/>
|
||||
<wire from="(160,390)" to="(160,540)"/>
|
||||
<wire from="(170,210)" to="(170,320)"/>
|
||||
<wire from="(170,320)" to="(170,370)"/>
|
||||
<wire from="(170,320)" to="(220,320)"/>
|
||||
<wire from="(170,370)" to="(180,370)"/>
|
||||
<wire from="(170,380)" to="(170,540)"/>
|
||||
<wire from="(180,370)" to="(180,540)"/>
|
||||
<wire from="(180,590)" to="(180,720)"/>
|
||||
<wire from="(180,720)" to="(230,720)"/>
|
||||
<wire from="(190,560)" to="(190,570)"/>
|
||||
<wire from="(190,570)" to="(210,570)"/>
|
||||
<wire from="(210,570)" to="(210,700)"/>
|
||||
<wire from="(210,700)" to="(230,700)"/>
|
||||
<wire from="(220,360)" to="(220,370)"/>
|
||||
<wire from="(220,370)" to="(220,380)"/>
|
||||
<wire from="(220,380)" to="(220,390)"/>
|
||||
<wire from="(220,390)" to="(220,400)"/>
|
||||
<wire from="(220,400)" to="(220,420)"/>
|
||||
<wire from="(240,310)" to="(260,310)"/>
|
||||
<wire from="(290,260)" to="(290,290)"/>
|
||||
<wire from="(350,260)" to="(350,290)"/>
|
||||
<wire from="(350,400)" to="(350,450)"/>
|
||||
<wire from="(350,400)" to="(450,400)"/>
|
||||
<wire from="(360,410)" to="(360,470)"/>
|
||||
<wire from="(360,410)" to="(450,410)"/>
|
||||
<wire from="(370,420)" to="(370,490)"/>
|
||||
<wire from="(370,420)" to="(450,420)"/>
|
||||
<wire from="(380,430)" to="(380,500)"/>
|
||||
<wire from="(380,430)" to="(450,430)"/>
|
||||
<wire from="(410,260)" to="(410,290)"/>
|
||||
<wire from="(450,440)" to="(450,450)"/>
|
||||
<wire from="(450,450)" to="(450,460)"/>
|
||||
<wire from="(450,460)" to="(450,470)"/>
|
||||
<wire from="(450,470)" to="(450,480)"/>
|
||||
<wire from="(450,480)" to="(450,500)"/>
|
||||
<wire from="(450,660)" to="(590,660)"/>
|
||||
<wire from="(450,680)" to="(590,680)"/>
|
||||
<wire from="(450,700)" to="(490,700)"/>
|
||||
<wire from="(450,720)" to="(460,720)"/>
|
||||
<wire from="(460,720)" to="(460,840)"/>
|
||||
<wire from="(470,390)" to="(490,390)"/>
|
||||
<wire from="(490,700)" to="(490,840)"/>
|
||||
<wire from="(520,340)" to="(520,370)"/>
|
||||
<wire from="(580,340)" to="(580,370)"/>
|
||||
<wire from="(590,650)" to="(590,660)"/>
|
||||
<wire from="(590,680)" to="(590,750)"/>
|
||||
<wire from="(590,750)" to="(900,750)"/>
|
||||
<wire from="(610,610)" to="(630,610)"/>
|
||||
<wire from="(610,620)" to="(630,620)"/>
|
||||
<wire from="(610,630)" to="(630,630)"/>
|
||||
<wire from="(610,640)" to="(630,640)"/>
|
||||
<wire from="(630,650)" to="(630,660)"/>
|
||||
<wire from="(630,660)" to="(630,670)"/>
|
||||
<wire from="(630,670)" to="(630,680)"/>
|
||||
<wire from="(630,680)" to="(630,690)"/>
|
||||
<wire from="(630,690)" to="(630,710)"/>
|
||||
<wire from="(640,340)" to="(640,370)"/>
|
||||
<wire from="(650,600)" to="(670,600)"/>
|
||||
<wire from="(70,210)" to="(100,210)"/>
|
||||
<wire from="(70,210)" to="(70,410)"/>
|
||||
<wire from="(70,410)" to="(80,410)"/>
|
||||
<wire from="(700,550)" to="(700,580)"/>
|
||||
<wire from="(760,550)" to="(760,580)"/>
|
||||
<wire from="(80,240)" to="(110,240)"/>
|
||||
<wire from="(80,240)" to="(80,400)"/>
|
||||
<wire from="(80,400)" to="(90,400)"/>
|
||||
<wire from="(80,410)" to="(80,500)"/>
|
||||
<wire from="(80,500)" to="(380,500)"/>
|
||||
<wire from="(80,500)" to="(80,560)"/>
|
||||
<wire from="(820,550)" to="(820,580)"/>
|
||||
<wire from="(90,250)" to="(120,250)"/>
|
||||
<wire from="(90,250)" to="(90,390)"/>
|
||||
<wire from="(90,390)" to="(100,390)"/>
|
||||
<wire from="(90,400)" to="(90,490)"/>
|
||||
<wire from="(90,490)" to="(370,490)"/>
|
||||
<wire from="(90,490)" to="(90,560)"/>
|
||||
<wire from="(900,640)" to="(900,750)"/>
|
||||
<wire from="(920,600)" to="(940,600)"/>
|
||||
<wire from="(920,610)" to="(940,610)"/>
|
||||
<wire from="(920,620)" to="(940,620)"/>
|
||||
<wire from="(920,630)" to="(940,630)"/>
|
||||
<wire from="(940,640)" to="(940,650)"/>
|
||||
<wire from="(940,650)" to="(940,660)"/>
|
||||
<wire from="(940,660)" to="(940,670)"/>
|
||||
<wire from="(940,670)" to="(940,680)"/>
|
||||
<wire from="(940,680)" to="(940,690)"/>
|
||||
<wire from="(940,690)" to="(940,700)"/>
|
||||
<wire from="(940,690)" to="(950,690)"/>
|
||||
<wire from="(960,590)" to="(980,590)"/>
|
||||
</circuit>
|
||||
</project>
|
1345
logisim/halfsubraction.circ
Normal file
1344
logisim/halfsubraction2.circ
Normal file
639
logisim/multiplier4.circ
Normal file
@ -0,0 +1,639 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project source="3.9.0" version="1.0">
|
||||
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
|
||||
|
||||
<lib desc="#Wiring" name="0">
|
||||
<tool name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</tool>
|
||||
<tool name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#Gates" name="1"/>
|
||||
<lib desc="#Plexers" name="2"/>
|
||||
<lib desc="#Arithmetic" name="3"/>
|
||||
<lib desc="#Memory" name="4"/>
|
||||
<lib desc="#I/O" name="5"/>
|
||||
<lib desc="#TTL" name="6"/>
|
||||
<lib desc="#TCL" name="7"/>
|
||||
<lib desc="#Base" name="8"/>
|
||||
<lib desc="#BFH-Praktika" name="9"/>
|
||||
<lib desc="#Input/Output-Extra" name="10"/>
|
||||
<lib desc="#Soc" name="11"/>
|
||||
<main name="bit4multiplier"/>
|
||||
<options>
|
||||
<a name="gateUndefined" val="ignore"/>
|
||||
<a name="simlimit" val="1000"/>
|
||||
<a name="simrand" val="0"/>
|
||||
</options>
|
||||
<mappings>
|
||||
<tool lib="8" map="Button2" name="Poke Tool"/>
|
||||
<tool lib="8" map="Button3" name="Menu Tool"/>
|
||||
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
|
||||
</mappings>
|
||||
<toolbar>
|
||||
<tool lib="8" name="Poke Tool"/>
|
||||
<tool lib="8" name="Edit Tool"/>
|
||||
<tool lib="8" name="Wiring Tool"/>
|
||||
<tool lib="8" name="Text Tool"/>
|
||||
<sep/>
|
||||
<tool lib="0" name="Pin"/>
|
||||
<tool lib="0" name="Pin">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="output" val="true"/>
|
||||
</tool>
|
||||
<sep/>
|
||||
<tool lib="1" name="NOT Gate"/>
|
||||
<tool lib="1" name="AND Gate"/>
|
||||
<tool lib="1" name="OR Gate"/>
|
||||
<tool lib="1" name="XOR Gate"/>
|
||||
<tool lib="1" name="NAND Gate"/>
|
||||
<tool lib="1" name="NOR Gate"/>
|
||||
<sep/>
|
||||
<tool lib="4" name="D Flip-Flop"/>
|
||||
<tool lib="4" name="Register"/>
|
||||
</toolbar>
|
||||
<circuit name="bit4multiplier">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="bit4multiplier"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(1060,870)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="8"/>
|
||||
<a name="incoming" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1070,870)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="Y"/>
|
||||
<a name="output" val="true"/>
|
||||
<a name="width" val="8"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(180,150)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="south"/>
|
||||
<a name="label" val="A"/>
|
||||
<a name="width" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(180,200)" name="Splitter">
|
||||
<a name="facing" val="south"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(210,830)" name="Splitter">
|
||||
<a name="facing" val="south"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(230,150)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="south"/>
|
||||
<a name="label" val="B"/>
|
||||
<a name="width" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(230,560)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(240,160)" name="Splitter">
|
||||
<a name="facing" val="south"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(300,910)" name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(310,340)" name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(320,610)" name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(450,410)" name="Ground"/>
|
||||
<comp lib="0" loc="(450,690)" name="Ground"/>
|
||||
<comp lib="0" loc="(450,990)" name="Ground"/>
|
||||
<comp lib="0" loc="(520,460)" name="Ground">
|
||||
<a name="facing" val="west"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(520,920)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(550,180)" name="Power">
|
||||
<a name="facing" val="west"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(550,410)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(570,360)" name="Ground">
|
||||
<a name="facing" val="west"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(580,730)" name="Ground">
|
||||
<a name="facing" val="west"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(590,900)" name="Ground">
|
||||
<a name="facing" val="north"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(610,590)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(690,270)" name="Ground">
|
||||
<a name="facing" val="east"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(770,180)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(830,910)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(840,720)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(850,800)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(870,500)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(880,390)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="6" loc="(320,370)" name="7408"/>
|
||||
<comp lib="6" loc="(320,650)" name="7408"/>
|
||||
<comp lib="6" loc="(320,940)" name="7408"/>
|
||||
<comp lib="6" loc="(550,230)" name="7408"/>
|
||||
<comp loc="(810,360)" name="addition4"/>
|
||||
<comp loc="(810,730)" name="addition4"/>
|
||||
<comp loc="(810,920)" name="addition4"/>
|
||||
<wire from="(1020,350)" to="(1020,890)"/>
|
||||
<wire from="(1020,890)" to="(1040,890)"/>
|
||||
<wire from="(1040,310)" to="(1040,880)"/>
|
||||
<wire from="(1060,870)" to="(1070,870)"/>
|
||||
<wire from="(140,170)" to="(140,560)"/>
|
||||
<wire from="(140,170)" to="(180,170)"/>
|
||||
<wire from="(140,560)" to="(160,560)"/>
|
||||
<wire from="(160,190)" to="(160,520)"/>
|
||||
<wire from="(160,190)" to="(250,190)"/>
|
||||
<wire from="(160,520)" to="(190,520)"/>
|
||||
<wire from="(160,560)" to="(160,830)"/>
|
||||
<wire from="(160,560)" to="(230,560)"/>
|
||||
<wire from="(160,830)" to="(210,830)"/>
|
||||
<wire from="(180,150)" to="(180,170)"/>
|
||||
<wire from="(180,170)" to="(180,200)"/>
|
||||
<wire from="(190,220)" to="(190,270)"/>
|
||||
<wire from="(190,270)" to="(190,320)"/>
|
||||
<wire from="(190,270)" to="(510,270)"/>
|
||||
<wire from="(190,320)" to="(250,320)"/>
|
||||
<wire from="(190,520)" to="(190,890)"/>
|
||||
<wire from="(190,890)" to="(190,980)"/>
|
||||
<wire from="(190,890)" to="(370,890)"/>
|
||||
<wire from="(190,980)" to="(330,980)"/>
|
||||
<wire from="(200,220)" to="(200,250)"/>
|
||||
<wire from="(200,250)" to="(200,300)"/>
|
||||
<wire from="(200,250)" to="(530,250)"/>
|
||||
<wire from="(200,300)" to="(270,300)"/>
|
||||
<wire from="(200,470)" to="(200,500)"/>
|
||||
<wire from="(200,470)" to="(240,470)"/>
|
||||
<wire from="(200,500)" to="(220,500)"/>
|
||||
<wire from="(210,220)" to="(210,230)"/>
|
||||
<wire from="(210,230)" to="(210,280)"/>
|
||||
<wire from="(210,230)" to="(530,230)"/>
|
||||
<wire from="(210,280)" to="(430,280)"/>
|
||||
<wire from="(220,1010)" to="(390,1010)"/>
|
||||
<wire from="(220,220)" to="(220,260)"/>
|
||||
<wire from="(220,220)" to="(500,220)"/>
|
||||
<wire from="(220,260)" to="(370,260)"/>
|
||||
<wire from="(220,500)" to="(220,730)"/>
|
||||
<wire from="(220,500)" to="(360,500)"/>
|
||||
<wire from="(220,730)" to="(350,730)"/>
|
||||
<wire from="(220,850)" to="(220,1010)"/>
|
||||
<wire from="(230,150)" to="(230,160)"/>
|
||||
<wire from="(230,160)" to="(240,160)"/>
|
||||
<wire from="(230,850)" to="(230,990)"/>
|
||||
<wire from="(230,990)" to="(350,990)"/>
|
||||
<wire from="(240,210)" to="(240,470)"/>
|
||||
<wire from="(240,210)" to="(260,210)"/>
|
||||
<wire from="(240,850)" to="(240,870)"/>
|
||||
<wire from="(240,870)" to="(410,870)"/>
|
||||
<wire from="(250,180)" to="(250,190)"/>
|
||||
<wire from="(250,320)" to="(250,470)"/>
|
||||
<wire from="(250,470)" to="(410,470)"/>
|
||||
<wire from="(250,520)" to="(310,520)"/>
|
||||
<wire from="(250,530)" to="(370,530)"/>
|
||||
<wire from="(250,540)" to="(300,540)"/>
|
||||
<wire from="(250,550)" to="(280,550)"/>
|
||||
<wire from="(250,850)" to="(250,860)"/>
|
||||
<wire from="(250,860)" to="(350,860)"/>
|
||||
<wire from="(260,180)" to="(260,210)"/>
|
||||
<wire from="(270,180)" to="(270,190)"/>
|
||||
<wire from="(270,190)" to="(430,190)"/>
|
||||
<wire from="(270,300)" to="(270,450)"/>
|
||||
<wire from="(270,450)" to="(350,450)"/>
|
||||
<wire from="(280,180)" to="(280,210)"/>
|
||||
<wire from="(280,210)" to="(350,210)"/>
|
||||
<wire from="(280,320)" to="(280,420)"/>
|
||||
<wire from="(280,320)" to="(350,320)"/>
|
||||
<wire from="(280,420)" to="(330,420)"/>
|
||||
<wire from="(280,550)" to="(280,790)"/>
|
||||
<wire from="(280,790)" to="(410,790)"/>
|
||||
<wire from="(300,540)" to="(300,700)"/>
|
||||
<wire from="(300,700)" to="(330,700)"/>
|
||||
<wire from="(300,900)" to="(300,910)"/>
|
||||
<wire from="(300,900)" to="(330,900)"/>
|
||||
<wire from="(310,340)" to="(330,340)"/>
|
||||
<wire from="(310,520)" to="(310,590)"/>
|
||||
<wire from="(310,590)" to="(350,590)"/>
|
||||
<wire from="(320,610)" to="(330,610)"/>
|
||||
<wire from="(330,400)" to="(330,420)"/>
|
||||
<wire from="(330,420)" to="(390,420)"/>
|
||||
<wire from="(330,610)" to="(330,620)"/>
|
||||
<wire from="(330,680)" to="(330,700)"/>
|
||||
<wire from="(330,900)" to="(330,910)"/>
|
||||
<wire from="(330,970)" to="(330,980)"/>
|
||||
<wire from="(330,980)" to="(410,980)"/>
|
||||
<wire from="(350,210)" to="(350,320)"/>
|
||||
<wire from="(350,210)" to="(410,210)"/>
|
||||
<wire from="(350,320)" to="(350,340)"/>
|
||||
<wire from="(350,400)" to="(350,450)"/>
|
||||
<wire from="(350,590)" to="(350,620)"/>
|
||||
<wire from="(350,680)" to="(350,710)"/>
|
||||
<wire from="(350,710)" to="(350,730)"/>
|
||||
<wire from="(350,710)" to="(390,710)"/>
|
||||
<wire from="(350,860)" to="(350,910)"/>
|
||||
<wire from="(350,970)" to="(350,990)"/>
|
||||
<wire from="(360,500)" to="(360,610)"/>
|
||||
<wire from="(360,500)" to="(420,500)"/>
|
||||
<wire from="(360,610)" to="(370,610)"/>
|
||||
<wire from="(370,1020)" to="(470,1020)"/>
|
||||
<wire from="(370,260)" to="(370,340)"/>
|
||||
<wire from="(370,400)" to="(370,430)"/>
|
||||
<wire from="(370,430)" to="(530,430)"/>
|
||||
<wire from="(370,530)" to="(370,590)"/>
|
||||
<wire from="(370,590)" to="(410,590)"/>
|
||||
<wire from="(370,610)" to="(370,620)"/>
|
||||
<wire from="(370,680)" to="(370,750)"/>
|
||||
<wire from="(370,750)" to="(470,750)"/>
|
||||
<wire from="(370,890)" to="(370,910)"/>
|
||||
<wire from="(370,890)" to="(430,890)"/>
|
||||
<wire from="(370,970)" to="(370,1020)"/>
|
||||
<wire from="(390,310)" to="(1040,310)"/>
|
||||
<wire from="(390,310)" to="(390,340)"/>
|
||||
<wire from="(390,400)" to="(390,420)"/>
|
||||
<wire from="(390,600)" to="(390,620)"/>
|
||||
<wire from="(390,600)" to="(590,600)"/>
|
||||
<wire from="(390,680)" to="(390,710)"/>
|
||||
<wire from="(390,850)" to="(390,910)"/>
|
||||
<wire from="(390,850)" to="(480,850)"/>
|
||||
<wire from="(390,970)" to="(390,1010)"/>
|
||||
<wire from="(410,210)" to="(410,340)"/>
|
||||
<wire from="(410,400)" to="(410,470)"/>
|
||||
<wire from="(410,590)" to="(410,620)"/>
|
||||
<wire from="(410,680)" to="(410,790)"/>
|
||||
<wire from="(410,870)" to="(410,910)"/>
|
||||
<wire from="(410,970)" to="(410,980)"/>
|
||||
<wire from="(420,500)" to="(420,610)"/>
|
||||
<wire from="(420,610)" to="(430,610)"/>
|
||||
<wire from="(430,1050)" to="(500,1050)"/>
|
||||
<wire from="(430,130)" to="(430,140)"/>
|
||||
<wire from="(430,130)" to="(600,130)"/>
|
||||
<wire from="(430,140)" to="(430,160)"/>
|
||||
<wire from="(430,140)" to="(710,140)"/>
|
||||
<wire from="(430,160)" to="(430,190)"/>
|
||||
<wire from="(430,160)" to="(660,160)"/>
|
||||
<wire from="(430,280)" to="(430,340)"/>
|
||||
<wire from="(430,400)" to="(430,440)"/>
|
||||
<wire from="(430,440)" to="(530,440)"/>
|
||||
<wire from="(430,610)" to="(430,620)"/>
|
||||
<wire from="(430,680)" to="(430,710)"/>
|
||||
<wire from="(430,710)" to="(540,710)"/>
|
||||
<wire from="(430,890)" to="(430,910)"/>
|
||||
<wire from="(430,970)" to="(430,1050)"/>
|
||||
<wire from="(450,330)" to="(450,340)"/>
|
||||
<wire from="(450,330)" to="(490,330)"/>
|
||||
<wire from="(450,400)" to="(450,410)"/>
|
||||
<wire from="(450,610)" to="(450,620)"/>
|
||||
<wire from="(450,610)" to="(590,610)"/>
|
||||
<wire from="(450,680)" to="(450,690)"/>
|
||||
<wire from="(450,870)" to="(450,910)"/>
|
||||
<wire from="(450,870)" to="(470,870)"/>
|
||||
<wire from="(450,970)" to="(450,990)"/>
|
||||
<wire from="(470,620)" to="(470,750)"/>
|
||||
<wire from="(470,620)" to="(590,620)"/>
|
||||
<wire from="(470,870)" to="(470,940)"/>
|
||||
<wire from="(470,940)" to="(500,940)"/>
|
||||
<wire from="(470,950)" to="(470,1020)"/>
|
||||
<wire from="(470,950)" to="(500,950)"/>
|
||||
<wire from="(480,850)" to="(480,930)"/>
|
||||
<wire from="(480,850)" to="(500,850)"/>
|
||||
<wire from="(480,930)" to="(500,930)"/>
|
||||
<wire from="(490,330)" to="(490,420)"/>
|
||||
<wire from="(490,420)" to="(530,420)"/>
|
||||
<wire from="(500,170)" to="(500,220)"/>
|
||||
<wire from="(500,170)" to="(580,170)"/>
|
||||
<wire from="(500,960)" to="(500,1050)"/>
|
||||
<wire from="(510,270)" to="(510,300)"/>
|
||||
<wire from="(510,300)" to="(620,300)"/>
|
||||
<wire from="(510,500)" to="(510,770)"/>
|
||||
<wire from="(510,500)" to="(870,500)"/>
|
||||
<wire from="(510,770)" to="(590,770)"/>
|
||||
<wire from="(520,450)" to="(520,460)"/>
|
||||
<wire from="(520,450)" to="(530,450)"/>
|
||||
<wire from="(520,920)" to="(530,920)"/>
|
||||
<wire from="(530,120)" to="(530,230)"/>
|
||||
<wire from="(530,120)" to="(640,120)"/>
|
||||
<wire from="(530,250)" to="(530,280)"/>
|
||||
<wire from="(530,280)" to="(560,280)"/>
|
||||
<wire from="(530,340)" to="(530,380)"/>
|
||||
<wire from="(530,340)" to="(770,340)"/>
|
||||
<wire from="(530,380)" to="(590,380)"/>
|
||||
<wire from="(530,920)" to="(530,940)"/>
|
||||
<wire from="(530,940)" to="(590,940)"/>
|
||||
<wire from="(540,630)" to="(540,710)"/>
|
||||
<wire from="(540,630)" to="(590,630)"/>
|
||||
<wire from="(550,180)" to="(560,180)"/>
|
||||
<wire from="(550,400)" to="(550,410)"/>
|
||||
<wire from="(550,400)" to="(590,400)"/>
|
||||
<wire from="(560,180)" to="(560,200)"/>
|
||||
<wire from="(560,260)" to="(560,280)"/>
|
||||
<wire from="(560,700)" to="(560,750)"/>
|
||||
<wire from="(560,700)" to="(610,700)"/>
|
||||
<wire from="(560,750)" to="(590,750)"/>
|
||||
<wire from="(570,360)" to="(590,360)"/>
|
||||
<wire from="(570,810)" to="(570,960)"/>
|
||||
<wire from="(570,810)" to="(850,810)"/>
|
||||
<wire from="(570,960)" to="(590,960)"/>
|
||||
<wire from="(580,170)" to="(580,200)"/>
|
||||
<wire from="(580,260)" to="(580,280)"/>
|
||||
<wire from="(580,280)" to="(640,280)"/>
|
||||
<wire from="(580,730)" to="(590,730)"/>
|
||||
<wire from="(590,900)" to="(590,920)"/>
|
||||
<wire from="(600,130)" to="(600,200)"/>
|
||||
<wire from="(600,260)" to="(600,320)"/>
|
||||
<wire from="(600,320)" to="(720,320)"/>
|
||||
<wire from="(610,590)" to="(610,700)"/>
|
||||
<wire from="(620,190)" to="(620,200)"/>
|
||||
<wire from="(620,190)" to="(750,190)"/>
|
||||
<wire from="(620,260)" to="(620,300)"/>
|
||||
<wire from="(640,120)" to="(640,200)"/>
|
||||
<wire from="(640,260)" to="(640,280)"/>
|
||||
<wire from="(640,280)" to="(710,280)"/>
|
||||
<wire from="(660,160)" to="(660,200)"/>
|
||||
<wire from="(660,260)" to="(660,300)"/>
|
||||
<wire from="(660,300)" to="(750,300)"/>
|
||||
<wire from="(680,200)" to="(750,200)"/>
|
||||
<wire from="(680,260)" to="(680,270)"/>
|
||||
<wire from="(680,270)" to="(690,270)"/>
|
||||
<wire from="(710,140)" to="(710,280)"/>
|
||||
<wire from="(720,210)" to="(720,320)"/>
|
||||
<wire from="(720,210)" to="(750,210)"/>
|
||||
<wire from="(750,220)" to="(750,300)"/>
|
||||
<wire from="(770,180)" to="(770,340)"/>
|
||||
<wire from="(810,360)" to="(870,360)"/>
|
||||
<wire from="(810,380)" to="(820,380)"/>
|
||||
<wire from="(810,730)" to="(840,730)"/>
|
||||
<wire from="(810,750)" to="(970,750)"/>
|
||||
<wire from="(810,920)" to="(830,920)"/>
|
||||
<wire from="(810,940)" to="(860,940)"/>
|
||||
<wire from="(820,380)" to="(820,510)"/>
|
||||
<wire from="(820,510)" to="(890,510)"/>
|
||||
<wire from="(830,910)" to="(830,920)"/>
|
||||
<wire from="(840,720)" to="(840,730)"/>
|
||||
<wire from="(850,800)" to="(850,810)"/>
|
||||
<wire from="(850,870)" to="(950,870)"/>
|
||||
<wire from="(850,880)" to="(930,880)"/>
|
||||
<wire from="(850,890)" to="(910,890)"/>
|
||||
<wire from="(850,900)" to="(900,900)"/>
|
||||
<wire from="(860,680)" to="(990,680)"/>
|
||||
<wire from="(860,690)" to="(900,690)"/>
|
||||
<wire from="(860,700)" to="(930,700)"/>
|
||||
<wire from="(860,710)" to="(940,710)"/>
|
||||
<wire from="(860,940)" to="(860,950)"/>
|
||||
<wire from="(860,950)" to="(1040,950)"/>
|
||||
<wire from="(870,360)" to="(870,390)"/>
|
||||
<wire from="(870,390)" to="(880,390)"/>
|
||||
<wire from="(870,760)" to="(900,760)"/>
|
||||
<wire from="(870,770)" to="(930,770)"/>
|
||||
<wire from="(870,780)" to="(940,780)"/>
|
||||
<wire from="(870,790)" to="(970,790)"/>
|
||||
<wire from="(890,460)" to="(930,460)"/>
|
||||
<wire from="(890,470)" to="(920,470)"/>
|
||||
<wire from="(890,480)" to="(910,480)"/>
|
||||
<wire from="(890,490)" to="(890,510)"/>
|
||||
<wire from="(900,350)" to="(1020,350)"/>
|
||||
<wire from="(900,360)" to="(930,360)"/>
|
||||
<wire from="(900,370)" to="(920,370)"/>
|
||||
<wire from="(900,380)" to="(910,380)"/>
|
||||
<wire from="(900,690)" to="(900,760)"/>
|
||||
<wire from="(900,900)" to="(900,940)"/>
|
||||
<wire from="(900,940)" to="(1040,940)"/>
|
||||
<wire from="(910,380)" to="(910,480)"/>
|
||||
<wire from="(910,890)" to="(910,930)"/>
|
||||
<wire from="(910,930)" to="(1040,930)"/>
|
||||
<wire from="(920,370)" to="(920,470)"/>
|
||||
<wire from="(930,360)" to="(930,460)"/>
|
||||
<wire from="(930,700)" to="(930,770)"/>
|
||||
<wire from="(930,880)" to="(930,920)"/>
|
||||
<wire from="(930,920)" to="(1040,920)"/>
|
||||
<wire from="(940,710)" to="(940,780)"/>
|
||||
<wire from="(950,870)" to="(950,910)"/>
|
||||
<wire from="(950,910)" to="(1040,910)"/>
|
||||
<wire from="(970,750)" to="(970,790)"/>
|
||||
<wire from="(990,680)" to="(990,900)"/>
|
||||
<wire from="(990,900)" to="(1040,900)"/>
|
||||
</circuit>
|
||||
<circuit name="fulladder">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="fulladder"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(130,220)" name="Power"/>
|
||||
<comp lib="0" loc="(200,480)" name="Ground"/>
|
||||
<comp lib="0" loc="(250,300)" name="Ground"/>
|
||||
<comp lib="0" loc="(300,390)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="CarryO"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(310,260)" name="Power"/>
|
||||
<comp lib="0" loc="(410,60)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="south"/>
|
||||
<a name="label" val="Cin"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(430,340)" name="Ground"/>
|
||||
<comp lib="0" loc="(460,250)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="Sum"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(80,110)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="B"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(80,400)" name="Power"/>
|
||||
<comp lib="0" loc="(80,70)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="A"/>
|
||||
</comp>
|
||||
<comp lib="6" loc="(120,260)" name="7408"/>
|
||||
<comp lib="6" loc="(300,300)" name="7486"/>
|
||||
<comp lib="6" loc="(70,440)" name="7432"/>
|
||||
<wire from="(100,200)" to="(100,410)"/>
|
||||
<wire from="(100,200)" to="(190,200)"/>
|
||||
<wire from="(120,320)" to="(120,410)"/>
|
||||
<wire from="(120,320)" to="(270,320)"/>
|
||||
<wire from="(130,220)" to="(130,230)"/>
|
||||
<wire from="(140,390)" to="(140,410)"/>
|
||||
<wire from="(140,390)" to="(300,390)"/>
|
||||
<wire from="(150,70)" to="(150,230)"/>
|
||||
<wire from="(150,70)" to="(350,70)"/>
|
||||
<wire from="(170,110)" to="(170,230)"/>
|
||||
<wire from="(170,110)" to="(330,110)"/>
|
||||
<wire from="(190,200)" to="(190,230)"/>
|
||||
<wire from="(200,470)" to="(200,480)"/>
|
||||
<wire from="(210,140)" to="(210,230)"/>
|
||||
<wire from="(210,140)" to="(370,140)"/>
|
||||
<wire from="(230,180)" to="(230,230)"/>
|
||||
<wire from="(230,180)" to="(410,180)"/>
|
||||
<wire from="(250,210)" to="(250,230)"/>
|
||||
<wire from="(250,210)" to="(270,210)"/>
|
||||
<wire from="(250,290)" to="(250,300)"/>
|
||||
<wire from="(270,210)" to="(270,320)"/>
|
||||
<wire from="(310,260)" to="(310,270)"/>
|
||||
<wire from="(330,110)" to="(330,270)"/>
|
||||
<wire from="(350,70)" to="(350,270)"/>
|
||||
<wire from="(370,140)" to="(370,250)"/>
|
||||
<wire from="(370,250)" to="(370,270)"/>
|
||||
<wire from="(370,250)" to="(390,250)"/>
|
||||
<wire from="(390,250)" to="(390,270)"/>
|
||||
<wire from="(410,180)" to="(410,270)"/>
|
||||
<wire from="(410,60)" to="(410,180)"/>
|
||||
<wire from="(430,250)" to="(430,270)"/>
|
||||
<wire from="(430,250)" to="(460,250)"/>
|
||||
<wire from="(430,330)" to="(430,340)"/>
|
||||
<wire from="(80,110)" to="(170,110)"/>
|
||||
<wire from="(80,400)" to="(80,410)"/>
|
||||
<wire from="(80,70)" to="(150,70)"/>
|
||||
</circuit>
|
||||
<circuit name="addition4">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="addition4"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(130,160)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="B"/>
|
||||
<a name="width" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(130,50)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="A"/>
|
||||
<a name="width" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(140,150)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(140,50)" name="Splitter">
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(330,30)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="south"/>
|
||||
<a name="label" val="CarryIn"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(480,490)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="CarryO"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(550,130)" name="Splitter">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="fanout" val="4"/>
|
||||
<a name="incoming" val="4"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(560,120)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="Sum"/>
|
||||
<a name="output" val="true"/>
|
||||
<a name="width" val="4"/>
|
||||
</comp>
|
||||
<comp loc="(460,120)" name="fulladder"/>
|
||||
<comp loc="(460,250)" name="fulladder"/>
|
||||
<comp loc="(460,360)" name="fulladder"/>
|
||||
<comp loc="(460,470)" name="fulladder"/>
|
||||
<wire from="(130,160)" to="(140,160)"/>
|
||||
<wire from="(130,50)" to="(140,50)"/>
|
||||
<wire from="(140,150)" to="(140,160)"/>
|
||||
<wire from="(160,10)" to="(220,10)"/>
|
||||
<wire from="(160,110)" to="(210,110)"/>
|
||||
<wire from="(160,120)" to="(180,120)"/>
|
||||
<wire from="(160,130)" to="(170,130)"/>
|
||||
<wire from="(160,140)" to="(160,510)"/>
|
||||
<wire from="(160,20)" to="(200,20)"/>
|
||||
<wire from="(160,30)" to="(190,30)"/>
|
||||
<wire from="(160,40)" to="(160,90)"/>
|
||||
<wire from="(160,510)" to="(240,510)"/>
|
||||
<wire from="(170,130)" to="(170,400)"/>
|
||||
<wire from="(170,400)" to="(240,400)"/>
|
||||
<wire from="(180,120)" to="(180,290)"/>
|
||||
<wire from="(180,290)" to="(240,290)"/>
|
||||
<wire from="(190,30)" to="(190,100)"/>
|
||||
<wire from="(200,20)" to="(200,270)"/>
|
||||
<wire from="(200,270)" to="(240,270)"/>
|
||||
<wire from="(210,110)" to="(210,160)"/>
|
||||
<wire from="(210,160)" to="(240,160)"/>
|
||||
<wire from="(220,10)" to="(220,140)"/>
|
||||
<wire from="(220,140)" to="(240,140)"/>
|
||||
<wire from="(240,220)" to="(240,250)"/>
|
||||
<wire from="(240,220)" to="(460,220)"/>
|
||||
<wire from="(240,30)" to="(240,120)"/>
|
||||
<wire from="(240,30)" to="(330,30)"/>
|
||||
<wire from="(240,340)" to="(240,360)"/>
|
||||
<wire from="(240,340)" to="(460,340)"/>
|
||||
<wire from="(240,450)" to="(240,470)"/>
|
||||
<wire from="(240,450)" to="(460,450)"/>
|
||||
<wire from="(30,490)" to="(240,490)"/>
|
||||
<wire from="(30,90)" to="(160,90)"/>
|
||||
<wire from="(30,90)" to="(30,490)"/>
|
||||
<wire from="(460,120)" to="(530,120)"/>
|
||||
<wire from="(460,140)" to="(460,220)"/>
|
||||
<wire from="(460,250)" to="(470,250)"/>
|
||||
<wire from="(460,270)" to="(460,340)"/>
|
||||
<wire from="(460,360)" to="(480,360)"/>
|
||||
<wire from="(460,380)" to="(460,450)"/>
|
||||
<wire from="(460,470)" to="(500,470)"/>
|
||||
<wire from="(460,490)" to="(480,490)"/>
|
||||
<wire from="(470,150)" to="(470,250)"/>
|
||||
<wire from="(470,150)" to="(530,150)"/>
|
||||
<wire from="(480,160)" to="(480,360)"/>
|
||||
<wire from="(480,160)" to="(530,160)"/>
|
||||
<wire from="(500,170)" to="(500,470)"/>
|
||||
<wire from="(500,170)" to="(530,170)"/>
|
||||
<wire from="(530,120)" to="(530,140)"/>
|
||||
<wire from="(550,120)" to="(550,130)"/>
|
||||
<wire from="(550,120)" to="(560,120)"/>
|
||||
<wire from="(90,100)" to="(190,100)"/>
|
||||
<wire from="(90,100)" to="(90,380)"/>
|
||||
<wire from="(90,380)" to="(240,380)"/>
|
||||
</circuit>
|
||||
</project>
|
163
logisim/opCode.circ
Normal file
@ -0,0 +1,163 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project source="3.9.0" version="1.0">
|
||||
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
|
||||
|
||||
<lib desc="#Wiring" name="0">
|
||||
<tool name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#Gates" name="1"/>
|
||||
<lib desc="#Plexers" name="2"/>
|
||||
<lib desc="#Arithmetic" name="3"/>
|
||||
<lib desc="#Memory" name="4"/>
|
||||
<lib desc="#I/O" name="5"/>
|
||||
<lib desc="#TTL" name="6"/>
|
||||
<lib desc="#TCL" name="7"/>
|
||||
<lib desc="#Base" name="8"/>
|
||||
<lib desc="#BFH-Praktika" name="9"/>
|
||||
<lib desc="#Input/Output-Extra" name="10"/>
|
||||
<lib desc="#Soc" name="11"/>
|
||||
<main name="main"/>
|
||||
<options>
|
||||
<a name="gateUndefined" val="ignore"/>
|
||||
<a name="simlimit" val="1000"/>
|
||||
<a name="simrand" val="0"/>
|
||||
</options>
|
||||
<mappings>
|
||||
<tool lib="8" map="Button2" name="Poke Tool"/>
|
||||
<tool lib="8" map="Button3" name="Menu Tool"/>
|
||||
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
|
||||
</mappings>
|
||||
<toolbar>
|
||||
<tool lib="8" name="Poke Tool"/>
|
||||
<tool lib="8" name="Edit Tool"/>
|
||||
<tool lib="8" name="Wiring Tool"/>
|
||||
<tool lib="8" name="Text Tool"/>
|
||||
<sep/>
|
||||
<tool lib="0" name="Pin"/>
|
||||
<tool lib="0" name="Pin">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="output" val="true"/>
|
||||
</tool>
|
||||
<sep/>
|
||||
<tool lib="1" name="NOT Gate"/>
|
||||
<tool lib="1" name="AND Gate"/>
|
||||
<tool lib="1" name="OR Gate"/>
|
||||
<tool lib="1" name="XOR Gate"/>
|
||||
<tool lib="1" name="NAND Gate"/>
|
||||
<tool lib="1" name="NOR Gate"/>
|
||||
<sep/>
|
||||
<tool lib="4" name="D Flip-Flop"/>
|
||||
<tool lib="4" name="Register"/>
|
||||
</toolbar>
|
||||
<circuit name="main">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="main"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="1" loc="(330,220)" name="NOT Gate"/>
|
||||
<comp lib="1" loc="(330,310)" name="NOT Gate"/>
|
||||
<comp lib="1" loc="(550,140)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(550,260)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(550,380)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(550,500)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(560,80)" name="NOT Gate">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(690,140)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(690,200)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(690,260)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(690,320)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(690,380)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(690,440)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(690,500)" name="AND Gate"/>
|
||||
<comp lib="1" loc="(690,560)" name="AND Gate"/>
|
||||
<comp lib="5" loc="(260,200)" name="DipSwitch">
|
||||
<a name="facing" val="south"/>
|
||||
</comp>
|
||||
<comp lib="5" loc="(740,120)" name="LedBar"/>
|
||||
<wire from="(150,220)" to="(230,220)"/>
|
||||
<wire from="(150,50)" to="(150,220)"/>
|
||||
<wire from="(150,50)" to="(560,50)"/>
|
||||
<wire from="(230,200)" to="(230,220)"/>
|
||||
<wire from="(240,200)" to="(240,280)"/>
|
||||
<wire from="(240,280)" to="(240,310)"/>
|
||||
<wire from="(240,280)" to="(500,280)"/>
|
||||
<wire from="(240,310)" to="(240,520)"/>
|
||||
<wire from="(240,310)" to="(300,310)"/>
|
||||
<wire from="(240,520)" to="(500,520)"/>
|
||||
<wire from="(250,200)" to="(250,220)"/>
|
||||
<wire from="(250,220)" to="(250,360)"/>
|
||||
<wire from="(250,220)" to="(300,220)"/>
|
||||
<wire from="(250,360)" to="(250,480)"/>
|
||||
<wire from="(250,360)" to="(500,360)"/>
|
||||
<wire from="(250,480)" to="(500,480)"/>
|
||||
<wire from="(330,120)" to="(330,220)"/>
|
||||
<wire from="(330,120)" to="(440,120)"/>
|
||||
<wire from="(330,310)" to="(340,310)"/>
|
||||
<wire from="(340,160)" to="(340,310)"/>
|
||||
<wire from="(340,160)" to="(500,160)"/>
|
||||
<wire from="(340,310)" to="(340,400)"/>
|
||||
<wire from="(340,400)" to="(500,400)"/>
|
||||
<wire from="(440,120)" to="(440,240)"/>
|
||||
<wire from="(440,120)" to="(500,120)"/>
|
||||
<wire from="(440,240)" to="(500,240)"/>
|
||||
<wire from="(550,120)" to="(550,140)"/>
|
||||
<wire from="(550,120)" to="(570,120)"/>
|
||||
<wire from="(550,260)" to="(570,260)"/>
|
||||
<wire from="(550,360)" to="(550,380)"/>
|
||||
<wire from="(550,360)" to="(570,360)"/>
|
||||
<wire from="(550,480)" to="(550,500)"/>
|
||||
<wire from="(550,480)" to="(570,480)"/>
|
||||
<wire from="(560,50)" to="(600,50)"/>
|
||||
<wire from="(560,80)" to="(610,80)"/>
|
||||
<wire from="(570,120)" to="(570,180)"/>
|
||||
<wire from="(570,120)" to="(640,120)"/>
|
||||
<wire from="(570,180)" to="(640,180)"/>
|
||||
<wire from="(570,240)" to="(570,260)"/>
|
||||
<wire from="(570,240)" to="(640,240)"/>
|
||||
<wire from="(570,260)" to="(570,300)"/>
|
||||
<wire from="(570,300)" to="(640,300)"/>
|
||||
<wire from="(570,360)" to="(570,420)"/>
|
||||
<wire from="(570,360)" to="(640,360)"/>
|
||||
<wire from="(570,420)" to="(640,420)"/>
|
||||
<wire from="(570,480)" to="(570,540)"/>
|
||||
<wire from="(570,480)" to="(640,480)"/>
|
||||
<wire from="(570,540)" to="(640,540)"/>
|
||||
<wire from="(600,220)" to="(600,340)"/>
|
||||
<wire from="(600,220)" to="(640,220)"/>
|
||||
<wire from="(600,340)" to="(600,460)"/>
|
||||
<wire from="(600,340)" to="(640,340)"/>
|
||||
<wire from="(600,460)" to="(600,580)"/>
|
||||
<wire from="(600,460)" to="(640,460)"/>
|
||||
<wire from="(600,50)" to="(600,220)"/>
|
||||
<wire from="(600,580)" to="(640,580)"/>
|
||||
<wire from="(610,280)" to="(620,280)"/>
|
||||
<wire from="(610,80)" to="(610,280)"/>
|
||||
<wire from="(610,80)" to="(630,80)"/>
|
||||
<wire from="(620,280)" to="(620,400)"/>
|
||||
<wire from="(620,280)" to="(640,280)"/>
|
||||
<wire from="(620,400)" to="(620,520)"/>
|
||||
<wire from="(620,400)" to="(640,400)"/>
|
||||
<wire from="(620,520)" to="(640,520)"/>
|
||||
<wire from="(630,160)" to="(640,160)"/>
|
||||
<wire from="(630,80)" to="(630,160)"/>
|
||||
<wire from="(690,140)" to="(740,140)"/>
|
||||
<wire from="(690,200)" to="(750,200)"/>
|
||||
<wire from="(690,260)" to="(760,260)"/>
|
||||
<wire from="(690,320)" to="(770,320)"/>
|
||||
<wire from="(690,380)" to="(780,380)"/>
|
||||
<wire from="(690,440)" to="(790,440)"/>
|
||||
<wire from="(690,500)" to="(800,500)"/>
|
||||
<wire from="(690,560)" to="(810,560)"/>
|
||||
<wire from="(740,120)" to="(740,140)"/>
|
||||
<wire from="(750,120)" to="(750,200)"/>
|
||||
<wire from="(760,120)" to="(760,260)"/>
|
||||
<wire from="(770,120)" to="(770,320)"/>
|
||||
<wire from="(780,120)" to="(780,380)"/>
|
||||
<wire from="(790,120)" to="(790,440)"/>
|
||||
<wire from="(800,120)" to="(800,500)"/>
|
||||
<wire from="(810,120)" to="(810,560)"/>
|
||||
</circuit>
|
||||
</project>
|
262
logisim/subraction.circ
Normal file
@ -0,0 +1,262 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<project source="3.9.0" version="1.0">
|
||||
This file is intended to be loaded by Logisim-evolution v3.9.0(https://github.com/logisim-evolution/).
|
||||
|
||||
<lib desc="#Wiring" name="0">
|
||||
<tool name="Pin">
|
||||
<a name="appearance" val="classic"/>
|
||||
</tool>
|
||||
</lib>
|
||||
<lib desc="#Gates" name="1"/>
|
||||
<lib desc="#Plexers" name="2"/>
|
||||
<lib desc="#Arithmetic" name="3"/>
|
||||
<lib desc="#Memory" name="4"/>
|
||||
<lib desc="#I/O" name="5"/>
|
||||
<lib desc="#TTL" name="6"/>
|
||||
<lib desc="#TCL" name="7"/>
|
||||
<lib desc="#Base" name="8"/>
|
||||
<lib desc="#BFH-Praktika" name="9"/>
|
||||
<lib desc="#Input/Output-Extra" name="10"/>
|
||||
<lib desc="#Soc" name="11"/>
|
||||
<main name="main"/>
|
||||
<options>
|
||||
<a name="gateUndefined" val="ignore"/>
|
||||
<a name="simlimit" val="1000"/>
|
||||
<a name="simrand" val="0"/>
|
||||
</options>
|
||||
<mappings>
|
||||
<tool lib="8" map="Button2" name="Poke Tool"/>
|
||||
<tool lib="8" map="Button3" name="Menu Tool"/>
|
||||
<tool lib="8" map="Ctrl Button1" name="Menu Tool"/>
|
||||
</mappings>
|
||||
<toolbar>
|
||||
<tool lib="8" name="Poke Tool"/>
|
||||
<tool lib="8" name="Edit Tool"/>
|
||||
<tool lib="8" name="Wiring Tool"/>
|
||||
<tool lib="8" name="Text Tool"/>
|
||||
<sep/>
|
||||
<tool lib="0" name="Pin"/>
|
||||
<tool lib="0" name="Pin">
|
||||
<a name="facing" val="west"/>
|
||||
<a name="output" val="true"/>
|
||||
</tool>
|
||||
<sep/>
|
||||
<tool lib="1" name="NOT Gate"/>
|
||||
<tool lib="1" name="AND Gate"/>
|
||||
<tool lib="1" name="OR Gate"/>
|
||||
<tool lib="1" name="XOR Gate"/>
|
||||
<tool lib="1" name="NAND Gate"/>
|
||||
<tool lib="1" name="NOR Gate"/>
|
||||
<sep/>
|
||||
<tool lib="4" name="D Flip-Flop"/>
|
||||
<tool lib="4" name="Register"/>
|
||||
</toolbar>
|
||||
<circuit name="main">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="main"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
</circuit>
|
||||
<circuit name="opcode">
|
||||
<a name="appearance" val="logisim_evolution"/>
|
||||
<a name="circuit" val="opcode"/>
|
||||
<a name="circuitnamedboxfixedsize" val="true"/>
|
||||
<a name="simulationFrequency" val="1.0"/>
|
||||
<comp lib="0" loc="(1040,180)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="opcode1"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1050,320)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="opcode6"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1060,620)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="opcode5"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1070,60)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="opcode3"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(1100,380)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="opcode7"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(230,280)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="A0"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(230,400)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="A1"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(230,540)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="label" val="A2"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(980,220)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="opcode0"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(990,30)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="opcode2"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="0" loc="(990,660)" name="Pin">
|
||||
<a name="appearance" val="NewPins"/>
|
||||
<a name="facing" val="west"/>
|
||||
<a name="label" val="opcode4"/>
|
||||
<a name="output" val="true"/>
|
||||
</comp>
|
||||
<comp lib="1" loc="(330,520)" name="NOT Gate"/>
|
||||
<comp lib="1" loc="(340,250)" name="NOT Gate"/>
|
||||
<comp lib="1" loc="(350,380)" name="NOT Gate"/>
|
||||
<comp lib="6" loc="(620,380)" name="7408"/>
|
||||
<comp lib="6" loc="(840,970)" name="7408"/>
|
||||
<comp lib="6" loc="(920,120)" name="7408"/>
|
||||
<comp lib="6" loc="(940,470)" name="7408"/>
|
||||
<comp lib="8" loc="(455,245)" name="Text">
|
||||
<a name="text" val="notc"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(460,375)" name="Text">
|
||||
<a name="text" val="notb"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(470,510)" name="Text">
|
||||
<a name="text" val="nota"/>
|
||||
</comp>
|
||||
<comp lib="8" loc="(690,295)" name="Text">
|
||||
<a name="text" val="and3"/>
|
||||
</comp>
|
||||
<wire from="(1000,280)" to="(1000,520)"/>
|
||||
<wire from="(1000,280)" to="(1010,280)"/>
|
||||
<wire from="(1000,520)" to="(1030,520)"/>
|
||||
<wire from="(1010,150)" to="(1010,170)"/>
|
||||
<wire from="(1010,170)" to="(1010,280)"/>
|
||||
<wire from="(1010,170)" to="(1020,170)"/>
|
||||
<wire from="(1010,320)" to="(1010,440)"/>
|
||||
<wire from="(1010,320)" to="(1050,320)"/>
|
||||
<wire from="(1010,500)" to="(1010,540)"/>
|
||||
<wire from="(1010,80)" to="(1010,90)"/>
|
||||
<wire from="(1020,70)" to="(1020,170)"/>
|
||||
<wire from="(1020,70)" to="(1030,70)"/>
|
||||
<wire from="(1030,150)" to="(1030,180)"/>
|
||||
<wire from="(1030,180)" to="(1040,180)"/>
|
||||
<wire from="(1030,400)" to="(1030,440)"/>
|
||||
<wire from="(1030,500)" to="(1030,520)"/>
|
||||
<wire from="(1030,70)" to="(1030,90)"/>
|
||||
<wire from="(1050,340)" to="(1050,440)"/>
|
||||
<wire from="(1050,500)" to="(1050,620)"/>
|
||||
<wire from="(1050,60)" to="(1050,90)"/>
|
||||
<wire from="(1050,60)" to="(1070,60)"/>
|
||||
<wire from="(1050,620)" to="(1060,620)"/>
|
||||
<wire from="(1070,380)" to="(1070,440)"/>
|
||||
<wire from="(1070,380)" to="(1100,380)"/>
|
||||
<wire from="(230,280)" to="(250,280)"/>
|
||||
<wire from="(230,400)" to="(260,400)"/>
|
||||
<wire from="(230,540)" to="(260,540)"/>
|
||||
<wire from="(250,250)" to="(250,280)"/>
|
||||
<wire from="(250,250)" to="(310,250)"/>
|
||||
<wire from="(250,280)" to="(970,280)"/>
|
||||
<wire from="(260,380)" to="(260,400)"/>
|
||||
<wire from="(260,380)" to="(320,380)"/>
|
||||
<wire from="(260,400)" to="(560,400)"/>
|
||||
<wire from="(260,520)" to="(260,540)"/>
|
||||
<wire from="(260,520)" to="(300,520)"/>
|
||||
<wire from="(260,540)" to="(630,540)"/>
|
||||
<wire from="(330,250)" to="(340,250)"/>
|
||||
<wire from="(330,520)" to="(690,520)"/>
|
||||
<wire from="(340,250)" to="(880,250)"/>
|
||||
<wire from="(350,380)" to="(460,380)"/>
|
||||
<wire from="(460,370)" to="(460,380)"/>
|
||||
<wire from="(460,380)" to="(600,380)"/>
|
||||
<wire from="(560,400)" to="(560,470)"/>
|
||||
<wire from="(560,470)" to="(650,470)"/>
|
||||
<wire from="(600,320)" to="(600,380)"/>
|
||||
<wire from="(600,320)" to="(670,320)"/>
|
||||
<wire from="(610,330)" to="(610,430)"/>
|
||||
<wire from="(610,330)" to="(650,330)"/>
|
||||
<wire from="(610,430)" to="(630,430)"/>
|
||||
<wire from="(630,400)" to="(630,410)"/>
|
||||
<wire from="(630,410)" to="(630,430)"/>
|
||||
<wire from="(630,430)" to="(630,540)"/>
|
||||
<wire from="(650,330)" to="(650,350)"/>
|
||||
<wire from="(650,410)" to="(650,440)"/>
|
||||
<wire from="(650,440)" to="(650,470)"/>
|
||||
<wire from="(650,440)" to="(710,440)"/>
|
||||
<wire from="(670,320)" to="(670,330)"/>
|
||||
<wire from="(670,330)" to="(670,350)"/>
|
||||
<wire from="(670,330)" to="(730,330)"/>
|
||||
<wire from="(670,410)" to="(670,550)"/>
|
||||
<wire from="(670,550)" to="(860,550)"/>
|
||||
<wire from="(690,300)" to="(690,350)"/>
|
||||
<wire from="(690,300)" to="(780,300)"/>
|
||||
<wire from="(690,410)" to="(690,430)"/>
|
||||
<wire from="(690,430)" to="(690,520)"/>
|
||||
<wire from="(690,430)" to="(770,430)"/>
|
||||
<wire from="(710,340)" to="(710,350)"/>
|
||||
<wire from="(710,340)" to="(770,340)"/>
|
||||
<wire from="(710,410)" to="(710,440)"/>
|
||||
<wire from="(730,330)" to="(730,350)"/>
|
||||
<wire from="(730,350)" to="(730,360)"/>
|
||||
<wire from="(730,410)" to="(730,510)"/>
|
||||
<wire from="(730,510)" to="(840,510)"/>
|
||||
<wire from="(750,320)" to="(750,350)"/>
|
||||
<wire from="(750,320)" to="(950,320)"/>
|
||||
<wire from="(770,340)" to="(770,430)"/>
|
||||
<wire from="(780,300)" to="(780,400)"/>
|
||||
<wire from="(780,400)" to="(920,400)"/>
|
||||
<wire from="(840,60)" to="(840,80)"/>
|
||||
<wire from="(840,60)" to="(950,60)"/>
|
||||
<wire from="(840,80)" to="(1010,80)"/>
|
||||
<wire from="(840,80)" to="(840,510)"/>
|
||||
<wire from="(860,370)" to="(860,550)"/>
|
||||
<wire from="(860,370)" to="(970,370)"/>
|
||||
<wire from="(880,250)" to="(880,530)"/>
|
||||
<wire from="(880,250)" to="(930,250)"/>
|
||||
<wire from="(880,530)" to="(970,530)"/>
|
||||
<wire from="(900,190)" to="(930,190)"/>
|
||||
<wire from="(900,70)" to="(900,190)"/>
|
||||
<wire from="(900,70)" to="(970,70)"/>
|
||||
<wire from="(920,400)" to="(920,510)"/>
|
||||
<wire from="(920,510)" to="(930,510)"/>
|
||||
<wire from="(930,150)" to="(930,190)"/>
|
||||
<wire from="(930,190)" to="(930,250)"/>
|
||||
<wire from="(930,250)" to="(990,250)"/>
|
||||
<wire from="(930,510)" to="(930,540)"/>
|
||||
<wire from="(930,510)" to="(950,510)"/>
|
||||
<wire from="(930,540)" to="(1010,540)"/>
|
||||
<wire from="(950,150)" to="(950,180)"/>
|
||||
<wire from="(950,180)" to="(950,320)"/>
|
||||
<wire from="(950,180)" to="(990,180)"/>
|
||||
<wire from="(950,500)" to="(950,510)"/>
|
||||
<wire from="(950,60)" to="(950,90)"/>
|
||||
<wire from="(970,150)" to="(970,220)"/>
|
||||
<wire from="(970,220)" to="(980,220)"/>
|
||||
<wire from="(970,280)" to="(1000,280)"/>
|
||||
<wire from="(970,280)" to="(970,340)"/>
|
||||
<wire from="(970,340)" to="(1050,340)"/>
|
||||
<wire from="(970,370)" to="(970,400)"/>
|
||||
<wire from="(970,400)" to="(1030,400)"/>
|
||||
<wire from="(970,400)" to="(970,440)"/>
|
||||
<wire from="(970,500)" to="(970,530)"/>
|
||||
<wire from="(970,70)" to="(970,90)"/>
|
||||
<wire from="(990,150)" to="(990,180)"/>
|
||||
<wire from="(990,250)" to="(990,440)"/>
|
||||
<wire from="(990,30)" to="(990,90)"/>
|
||||
<wire from="(990,500)" to="(990,660)"/>
|
||||
</circuit>
|
||||
</project>
|
2
logisim/subraction.circZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
BIN
media/Ainput.jpg
Normal file
After Width: | Height: | Size: 422 KiB |
BIN
media/Binput.jpg
Normal file
After Width: | Height: | Size: 466 KiB |
BIN
media/additionCarryIN.mp4
Normal file
BIN
media/and.mp4
Normal file
BIN
media/borrow.mp4
Normal file
BIN
media/borrowin.mp4
Normal file
BIN
media/circuit1.jpg
Normal file
After Width: | Height: | Size: 2.5 MiB |
BIN
media/circuit2.jpg
Normal file
After Width: | Height: | Size: 2.4 MiB |
BIN
media/circuit3.jpg
Normal file
After Width: | Height: | Size: 2.3 MiB |
BIN
media/multiplication.mp4
Normal file
BIN
media/opCode.mp4
Normal file
BIN
media/or.mp4
Normal file
BIN
media/overflow.mp4
Normal file
BIN
media/preview1.jpg
Normal file
After Width: | Height: | Size: 2.3 MiB |
BIN
media/preview2.jpg
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
media/xor.mp4
Normal file
29
verilog/ALU0.2/!NOTUSE!overflowDetect.v
Normal file
@ -0,0 +1,29 @@
|
||||
module overflowDetect (
|
||||
input [1:0] opCode,
|
||||
input [3:0] A, B,
|
||||
input [3:0] Y,
|
||||
input CarryOUT,
|
||||
output overflowDetect
|
||||
);
|
||||
|
||||
wire opC;
|
||||
wire sign1, sign2, sign3, sign4;
|
||||
wire addOverflow, subOverflow;
|
||||
wire detect1, detect2;
|
||||
|
||||
or o1 (opC, opCode[0], opCode[1]); //check add or sub
|
||||
|
||||
xnor xno1 (sign1, A[3], B[3]); // A B same sign
|
||||
xor xo2 (sign3, A[3], B[3]); // A and B opposite sign
|
||||
|
||||
xor xo1 (sign2, Y[3], A[3]); // A and Sum opposite sign
|
||||
|
||||
and a01 (addOverflow, sign1, opCode[0]); // A B same for add
|
||||
and a02 (subOverflow, sign3, opCode[1]); // A B diff for sub
|
||||
|
||||
or o2 (detect1, addOverflow, subOverflow);
|
||||
|
||||
and a03(detect2, detect1, sign2);
|
||||
and a04(overflowDetect, opC, detect2);
|
||||
|
||||
endmodule
|
2
verilog/ALU0.2/!NOTUSE!overflowDetect.vZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
68
verilog/ALU0.2/!NOTUSE!selector.v
Normal file
@ -0,0 +1,68 @@
|
||||
module selector (
|
||||
input [3:0] select,
|
||||
input [7:0] Y,
|
||||
input [3:0] A, B,
|
||||
input [2:0] opCodeA,
|
||||
output [7:0] s0
|
||||
);
|
||||
|
||||
wire [3:0] a0, b0, tempAB, tempYO;
|
||||
wire [7:0] y0;
|
||||
wire [2:0] op0;
|
||||
wire tempsO, temps;
|
||||
|
||||
// Select signals for A
|
||||
and a00 (a0[0], select[0], A[0]);
|
||||
and a01 (a0[1], select[0], A[1]);
|
||||
and a02 (a0[2], select[0], A[2]);
|
||||
and a03 (a0[3], select[0], A[3]);
|
||||
|
||||
// Select signals for B
|
||||
and b00 (b0[0], select[1], B[0]);
|
||||
and b01 (b0[1], select[1], B[1]);
|
||||
and b02 (b0[2], select[1], B[2]);
|
||||
and b03 (b0[3], select[1], B[3]);
|
||||
|
||||
// Select signals for Y
|
||||
and y00 (y0[0], select[2], Y[0]);
|
||||
and y01 (y0[1], select[2], Y[1]);
|
||||
and y02 (y0[2], select[2], Y[2]);
|
||||
and y03 (y0[3], select[2], Y[3]);
|
||||
and y04 (y0[4], select[2], Y[4]);
|
||||
and y05 (y0[5], select[2], Y[5]);
|
||||
and y06 (y0[6], select[2], Y[6]);
|
||||
and y07 (y0[7], select[2], Y[7]);
|
||||
|
||||
// Select signals for opCodeA
|
||||
and op00 (op0[0], select[3], opCodeA[0]);
|
||||
and op01 (op0[1], select[3], opCodeA[1]);
|
||||
and op02 (op0[2], select[3], opCodeA[2]);
|
||||
|
||||
// Combine A and B
|
||||
or or1 (tempAB[0], a0[0], b0[0]);
|
||||
or or2 (tempAB[1], a0[1], b0[1]);
|
||||
or or3 (tempAB[2], a0[2], b0[2]);
|
||||
or or4 (tempAB[3], a0[3], b0[3]);
|
||||
|
||||
// Combine Y and opCodeA
|
||||
or or5 (tempYO[0], y0[0], op0[0]);
|
||||
or or6 (tempYO[1], y0[1], op0[1]);
|
||||
or or7 (tempYO[2], y0[2], op0[2]);
|
||||
or or8 (tempYO[3], y0[3], 1'b0);
|
||||
|
||||
// NOR for select logic
|
||||
nor s01 (tempsO, select[0], select[1]);
|
||||
nor s02 (temps, tempsO, select[3]);
|
||||
|
||||
// Final s0 connections
|
||||
or or9 (s0[0], tempAB[0], tempYO[0]);
|
||||
or or10 (s0[1], tempAB[1], tempYO[1]);
|
||||
or or11 (s0[2], tempAB[2], tempYO[2]);
|
||||
or or12 (s0[3], tempAB[3], tempYO[3]);
|
||||
|
||||
and and13 (s0[4], y0[4], temps);
|
||||
and and14 (s0[5], y0[5], temps);
|
||||
and and15 (s0[6], y0[6], temps);
|
||||
and and16 (s0[7], y0[7], temps);
|
||||
|
||||
endmodule
|
2
verilog/ALU0.2/!NOTUSE!selector.vZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
2225
verilog/ALU0.2/ALU
Normal file
79
verilog/ALU0.2/ALU.v
Normal file
@ -0,0 +1,79 @@
|
||||
module ALU (
|
||||
input [3:0] A, B,
|
||||
input CarryIN,
|
||||
input [2:0] opCodeA,
|
||||
output [7:0] Y,
|
||||
output CarryOUT, overflow
|
||||
);
|
||||
|
||||
// Supports: ADD[0], SUB[1], MULT[2], AND[4], OR[5], XOR[6]
|
||||
|
||||
wire [7:0] opCode8;
|
||||
wire [3:0] add_Y, sub_Y;
|
||||
wire [3:0] resultA, resultO, resultX, lUOutput1;
|
||||
wire [3:0] aUtemp1, aUtemp2, lUOutput2;
|
||||
wire [3:0] wireY, wireLA;
|
||||
wire [7:0] opwireM, wireM, Y;
|
||||
|
||||
opCode opCd (.A(opCodeA), .opCode(opCode8));
|
||||
|
||||
arithmeticUnit aU(.opCode(opCode8[1:0]), .A(A), .B(B), .CarryIN(CarryIN), .add_Y(add_Y), .sub_Y(sub_Y), .CarryOUT(CarryOUT), .overflow(overflow));
|
||||
logicUnit lU (.opCode(opCode8[6:4]), .A(A), .B(B), .resultA(resultA), .resultO(resultO), .resultX(resultX));
|
||||
multiplier mU (.A(A), .B(B), .Y(opwireM));
|
||||
|
||||
or o01 (lUOutput1[0], resultA[0], resultO[0]);
|
||||
or o02 (lUOutput1[1], resultA[1], resultO[1]);
|
||||
or o03 (lUOutput1[2], resultA[2], resultO[2]);
|
||||
or o04 (lUOutput1[3], resultA[3], resultO[3]);
|
||||
|
||||
or o11 (lUOutput2[0], lUOutput1[0], resultX[0]);
|
||||
or o12 (lUOutput2[1], lUOutput1[1], resultX[1]);
|
||||
or o13 (lUOutput2[2], lUOutput1[2], resultX[2]);
|
||||
or o14 (lUOutput2[3], lUOutput1[3], resultX[3]);
|
||||
|
||||
|
||||
and a01 (aUtemp1[0], opCode8[0], add_Y[0]);
|
||||
and a02 (aUtemp1[1], opCode8[0], add_Y[1]);
|
||||
and a03 (aUtemp1[2], opCode8[0], add_Y[2]);
|
||||
and a04 (aUtemp1[3], opCode8[0], add_Y[3]);
|
||||
|
||||
|
||||
and a11 (aUtemp2[0], opCode8[1], sub_Y[0]);
|
||||
and a12 (aUtemp2[1], opCode8[1], sub_Y[1]);
|
||||
and a13 (aUtemp2[2], opCode8[1], sub_Y[2]);
|
||||
and a14 (aUtemp2[3], opCode8[1], sub_Y[3]);
|
||||
|
||||
and a21 (wireM[0], opCode8[2], opwireM[0]);
|
||||
and a22 (wireM[1], opCode8[2], opwireM[1]);
|
||||
and a23 (wireM[2], opCode8[2], opwireM[2]);
|
||||
and a24 (wireM[3], opCode8[2], opwireM[3]);
|
||||
and a25 (wireM[4], opCode8[2], opwireM[4]);
|
||||
and a26 (wireM[5], opCode8[2], opwireM[5]);
|
||||
and a27 (wireM[6], opCode8[2], opwireM[6]);
|
||||
and a28 (wireM[7], opCode8[2], opwireM[7]);
|
||||
|
||||
|
||||
or o21 (wireY[0], aUtemp1[0], aUtemp2[0]);
|
||||
or o22 (wireY[1], aUtemp1[1], aUtemp2[1]);
|
||||
or o23 (wireY[2], aUtemp1[2], aUtemp2[2]);
|
||||
or o24 (wireY[3], aUtemp1[3], aUtemp2[3]);
|
||||
|
||||
|
||||
or o1 (wireLA[0], lUOutput2[0], wireY[0]);
|
||||
or o2 (wireLA[1], lUOutput2[1], wireY[1]);
|
||||
or o3 (wireLA[2], lUOutput2[2], wireY[2]);
|
||||
or o4 (wireLA[3], lUOutput2[3], wireY[3]);
|
||||
|
||||
or o31 (Y[0], wireLA[0], wireM[0]);
|
||||
or o32 (Y[1], wireLA[1], wireM[1]);
|
||||
or o33 (Y[2], wireLA[2], wireM[2]);
|
||||
or o34 (Y[3], wireLA[3], wireM[3]);
|
||||
or o35 (Y[4], 1'b0, wireM[4]);
|
||||
or o36 (Y[5], 1'b0, wireM[5]);
|
||||
or o37 (Y[6], 1'b0, wireM[6]);
|
||||
or o38 (Y[7], 1'b0, wireM[7]);
|
||||
|
||||
//BinaryToBCD btod1(.binary(Y), .bcd(bcd)); // WIRE Y BINARY!!!!
|
||||
|
||||
|
||||
endmodule
|
2838
verilog/ALU0.2/ALU.vcd
Normal file
2
verilog/ALU0.2/ALU.vcdZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
2
verilog/ALU0.2/ALU.vZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
42
verilog/ALU0.2/ALUTB.v
Normal file
@ -0,0 +1,42 @@
|
||||
module ALUTB ();
|
||||
|
||||
reg [3:0] A, B;
|
||||
reg CarryIN;
|
||||
reg [2:0] opCodeA;
|
||||
wire CarryOUT, overflow;
|
||||
wire [11:0] bcd;
|
||||
|
||||
ALU uut(
|
||||
.A(A),
|
||||
.B(B),
|
||||
.CarryIN(CarryIN),
|
||||
.opCodeA(opCodeA),
|
||||
.CarryOUT(CarryOUT),
|
||||
.bcd(bcd),
|
||||
.overflow(overflow)
|
||||
);
|
||||
|
||||
initial begin
|
||||
$dumpfile("ALU.vcd"); // GTKWAVE SIMULTAIN DATA WAVEFORM
|
||||
$dumpvars; // ICARUS VERILOG ADD ALL VARIABLES
|
||||
A = 4'b0000; B = 4'b0000; CarryIN = 1'b0; opCodeA = 3'b011; #5;
|
||||
A = 4'b0000; B = 4'b1111; CarryIN = 1'b0; opCodeA = 3'b011; #5;
|
||||
A = 4'b1111; B = 4'b0000; CarryIN = 1'b0; opCodeA = 3'b011; #5;
|
||||
A = 4'b1111; B = 4'b1111; CarryIN = 1'b1; opCodeA = 3'b011; #5;
|
||||
A = 4'b0111; B = 4'b0111; CarryIN = 1'b1; opCodeA = 3'b011; #5;
|
||||
|
||||
A = 4'b0000; B = 4'b0000; CarryIN = 1'b0; opCodeA = 3'b111; #5;
|
||||
A = 4'b0000; B = 4'b1111; CarryIN = 1'b0; opCodeA = 3'b111; #5;
|
||||
A = 4'b1111; B = 4'b0000; CarryIN = 1'b0; opCodeA = 3'b111; #5;
|
||||
A = 4'b1111; B = 4'b1111; CarryIN = 1'b1; opCodeA = 3'b111; #5;
|
||||
A = 4'b0111; B = 4'b1111; CarryIN = 1'b1; opCodeA = 3'b111; #5;
|
||||
|
||||
A = 4'b0000; B = 4'b0000; CarryIN = 1'b0; opCodeA = 3'b010; #5;
|
||||
A = 4'b0000; B = 4'b1111; CarryIN = 1'b0; opCodeA = 3'b010; #5;
|
||||
A = 4'b1111; B = 4'b0000; CarryIN = 1'b0; opCodeA = 3'b010; #5;
|
||||
A = 4'b1111; B = 4'b1111; CarryIN = 1'b1; opCodeA = 3'b010; #5;
|
||||
A = 4'b0111; B = 4'b1111; CarryIN = 1'b1; opCodeA = 3'b010; #5;
|
||||
$finish; //NOT CONTAIN CLK, BUT STILL STOPS CODE
|
||||
end
|
||||
|
||||
endmodule
|
2
verilog/ALU0.2/ALUTB.vZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
2
verilog/ALU0.2/ALUZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
79
verilog/ALU0.2/BinaryToBCD.v
Normal file
@ -0,0 +1,79 @@
|
||||
module BinaryToBCD (
|
||||
input [7:0] binary,
|
||||
output [11:0] bcd
|
||||
);
|
||||
|
||||
wire empty1, empty2;
|
||||
wire [3:0] dab1, dab2, dab3, dab4, dab5;
|
||||
|
||||
and a111 (empty1, 1'b0, 1'b0);
|
||||
and a000 (empty2, 1'b0, 1'b0);
|
||||
and a222 (bcd[11], 1'b0, 1'b0);
|
||||
and a223 (bcd[10], 1'b0, 1'b0);
|
||||
|
||||
dabble d1t (.A((empty1)),
|
||||
.B(binary[7]),
|
||||
.C(binary[6]),
|
||||
.D(binary[5]),
|
||||
.X(dab1[0]),
|
||||
.Y(dab1[1]),
|
||||
.Z(dab1[2]),
|
||||
.E(dab1[3]));
|
||||
|
||||
dabble d2u (.A((dab1[1])),
|
||||
.B(dab1[2]),
|
||||
.C(dab1[3]),
|
||||
.D(binary[4]),
|
||||
.X(dab2[0]),
|
||||
.Y(dab2[1]),
|
||||
.Z(dab2[2]),
|
||||
.E(dab2[3]));
|
||||
|
||||
dabble d3v (.A((dab2[1])),
|
||||
.B(dab2[2]),
|
||||
.C(dab2[3]),
|
||||
.D(binary[3]),
|
||||
.X(dab3[0]),
|
||||
.Y(dab3[1]),
|
||||
.Z(dab3[2]),
|
||||
.E(dab3[3]));
|
||||
|
||||
dabble d4w (.A((empty2)),
|
||||
.B(dab1[0]),
|
||||
.C(dab2[0]),
|
||||
.D(dab3[0]),
|
||||
.X(bcd[9]),
|
||||
.Y(dab4[1]),
|
||||
.Z(dab4[2]),
|
||||
.E(dab4[3]));
|
||||
|
||||
dabble d5x (.A((dab3[1])),
|
||||
.B(dab3[2]),
|
||||
.C(dab3[3]),
|
||||
.D(binary[2]),
|
||||
.X(dab5[0]),
|
||||
.Y(dab5[1]),
|
||||
.Z(dab5[2]),
|
||||
.E(dab5[3]));
|
||||
|
||||
dabble d6y (.A((dab4[1])),
|
||||
.B(dab4[2]),
|
||||
.C(dab4[3]),
|
||||
.D(dab5[0]),
|
||||
.X(bcd[8]),
|
||||
.Y(bcd[7]),
|
||||
.Z(bcd[6]),
|
||||
.E(bcd[5]));
|
||||
|
||||
dabble d7z (.A((dab5[1])),
|
||||
.B(dab5[2]),
|
||||
.C(dab5[3]),
|
||||
.D(binary[1]),
|
||||
.X(bcd[4]),
|
||||
.Y(bcd[3]),
|
||||
.Z(bcd[2]),
|
||||
.E(bcd[1]));
|
||||
|
||||
or o1 (bcd[0], binary[0], 1'b0);
|
||||
|
||||
endmodule
|
568
verilog/ALU0.2/BinaryToBCD.vcd
Normal file
@ -0,0 +1,568 @@
|
||||
$date
|
||||
Mon Dec 23 02:48:47 2024
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
$end
|
||||
$timescale
|
||||
1s
|
||||
$end
|
||||
$scope module BinaryToBCDTB $end
|
||||
$var wire 12 ! bcd [11:0] $end
|
||||
$var reg 8 " binary [7:0] $end
|
||||
$scope module uut $end
|
||||
$var wire 8 # binary [7:0] $end
|
||||
$var wire 1 $ empty1 $end
|
||||
$var wire 1 % empty2 $end
|
||||
$var wire 4 & dab5 [3:0] $end
|
||||
$var wire 4 ' dab4 [3:0] $end
|
||||
$var wire 4 ( dab3 [3:0] $end
|
||||
$var wire 4 ) dab2 [3:0] $end
|
||||
$var wire 4 * dab1 [3:0] $end
|
||||
$var wire 12 + bcd [11:0] $end
|
||||
$scope module d1t $end
|
||||
$var wire 1 $ A $end
|
||||
$var wire 1 , B $end
|
||||
$var wire 1 - C $end
|
||||
$var wire 1 . D $end
|
||||
$var wire 1 / E $end
|
||||
$var wire 1 0 X $end
|
||||
$var wire 1 1 Y $end
|
||||
$var wire 1 2 Z $end
|
||||
$var wire 1 3 nor1 $end
|
||||
$var wire 1 4 nor2 $end
|
||||
$var wire 1 5 nor3 $end
|
||||
$var wire 1 6 or1 $end
|
||||
$var wire 1 7 xor1 $end
|
||||
$var wire 1 8 xor2 $end
|
||||
$upscope $end
|
||||
$scope module d2u $end
|
||||
$var wire 1 9 A $end
|
||||
$var wire 1 : B $end
|
||||
$var wire 1 ; C $end
|
||||
$var wire 1 < D $end
|
||||
$var wire 1 = E $end
|
||||
$var wire 1 > X $end
|
||||
$var wire 1 ? Y $end
|
||||
$var wire 1 @ Z $end
|
||||
$var wire 1 A nor1 $end
|
||||
$var wire 1 B nor2 $end
|
||||
$var wire 1 C nor3 $end
|
||||
$var wire 1 D or1 $end
|
||||
$var wire 1 E xor1 $end
|
||||
$var wire 1 F xor2 $end
|
||||
$upscope $end
|
||||
$scope module d3v $end
|
||||
$var wire 1 G A $end
|
||||
$var wire 1 H B $end
|
||||
$var wire 1 I C $end
|
||||
$var wire 1 J D $end
|
||||
$var wire 1 K E $end
|
||||
$var wire 1 L X $end
|
||||
$var wire 1 M Y $end
|
||||
$var wire 1 N Z $end
|
||||
$var wire 1 O nor1 $end
|
||||
$var wire 1 P nor2 $end
|
||||
$var wire 1 Q nor3 $end
|
||||
$var wire 1 R or1 $end
|
||||
$var wire 1 S xor1 $end
|
||||
$var wire 1 T xor2 $end
|
||||
$upscope $end
|
||||
$scope module d4w $end
|
||||
$var wire 1 % A $end
|
||||
$var wire 1 U B $end
|
||||
$var wire 1 V C $end
|
||||
$var wire 1 W D $end
|
||||
$var wire 1 X E $end
|
||||
$var wire 1 Y X $end
|
||||
$var wire 1 Z Y $end
|
||||
$var wire 1 [ Z $end
|
||||
$var wire 1 \ nor1 $end
|
||||
$var wire 1 ] nor2 $end
|
||||
$var wire 1 ^ nor3 $end
|
||||
$var wire 1 _ or1 $end
|
||||
$var wire 1 ` xor1 $end
|
||||
$var wire 1 a xor2 $end
|
||||
$upscope $end
|
||||
$scope module d5x $end
|
||||
$var wire 1 b A $end
|
||||
$var wire 1 c B $end
|
||||
$var wire 1 d C $end
|
||||
$var wire 1 e D $end
|
||||
$var wire 1 f E $end
|
||||
$var wire 1 g X $end
|
||||
$var wire 1 h Y $end
|
||||
$var wire 1 i Z $end
|
||||
$var wire 1 j nor1 $end
|
||||
$var wire 1 k nor2 $end
|
||||
$var wire 1 l nor3 $end
|
||||
$var wire 1 m or1 $end
|
||||
$var wire 1 n xor1 $end
|
||||
$var wire 1 o xor2 $end
|
||||
$upscope $end
|
||||
$scope module d6y $end
|
||||
$var wire 1 p A $end
|
||||
$var wire 1 q B $end
|
||||
$var wire 1 r C $end
|
||||
$var wire 1 s D $end
|
||||
$var wire 1 t E $end
|
||||
$var wire 1 u X $end
|
||||
$var wire 1 v Y $end
|
||||
$var wire 1 w Z $end
|
||||
$var wire 1 x nor1 $end
|
||||
$var wire 1 y nor2 $end
|
||||
$var wire 1 z nor3 $end
|
||||
$var wire 1 { or1 $end
|
||||
$var wire 1 | xor1 $end
|
||||
$var wire 1 } xor2 $end
|
||||
$upscope $end
|
||||
$scope module d7z $end
|
||||
$var wire 1 ~ A $end
|
||||
$var wire 1 !" B $end
|
||||
$var wire 1 "" C $end
|
||||
$var wire 1 #" D $end
|
||||
$var wire 1 $" E $end
|
||||
$var wire 1 %" X $end
|
||||
$var wire 1 &" Y $end
|
||||
$var wire 1 '" Z $end
|
||||
$var wire 1 (" nor1 $end
|
||||
$var wire 1 )" nor2 $end
|
||||
$var wire 1 *" nor3 $end
|
||||
$var wire 1 +" or1 $end
|
||||
$var wire 1 ," xor1 $end
|
||||
$var wire 1 -" xor2 $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
#0
|
||||
$dumpvars
|
||||
0-"
|
||||
0,"
|
||||
1+"
|
||||
0*"
|
||||
1)"
|
||||
1("
|
||||
0'"
|
||||
0&"
|
||||
0%"
|
||||
0$"
|
||||
0#"
|
||||
0""
|
||||
0!"
|
||||
0~
|
||||
0}
|
||||
0|
|
||||
1{
|
||||
0z
|
||||
1y
|
||||
1x
|
||||
0w
|
||||
0v
|
||||
0u
|
||||
0t
|
||||
0s
|
||||
0r
|
||||
0q
|
||||
0p
|
||||
0o
|
||||
0n
|
||||
1m
|
||||
0l
|
||||
1k
|
||||
1j
|
||||
0i
|
||||
0h
|
||||
0g
|
||||
0f
|
||||
0e
|
||||
0d
|
||||
0c
|
||||
0b
|
||||
0a
|
||||
0`
|
||||
1_
|
||||
0^
|
||||
1]
|
||||
1\
|
||||
0[
|
||||
0Z
|
||||
0Y
|
||||
0X
|
||||
0W
|
||||
0V
|
||||
0U
|
||||
0T
|
||||
0S
|
||||
1R
|
||||
0Q
|
||||
1P
|
||||
1O
|
||||
0N
|
||||
0M
|
||||
0L
|
||||
0K
|
||||
0J
|
||||
0I
|
||||
0H
|
||||
0G
|
||||
0F
|
||||
0E
|
||||
1D
|
||||
0C
|
||||
1B
|
||||
1A
|
||||
0@
|
||||
0?
|
||||
0>
|
||||
0=
|
||||
0<
|
||||
0;
|
||||
0:
|
||||
09
|
||||
08
|
||||
07
|
||||
16
|
||||
05
|
||||
14
|
||||
13
|
||||
02
|
||||
01
|
||||
00
|
||||
0/
|
||||
0.
|
||||
0-
|
||||
0,
|
||||
b0 +
|
||||
b0 *
|
||||
b0 )
|
||||
b0 (
|
||||
b0z '
|
||||
b0 &
|
||||
0%
|
||||
0$
|
||||
b0 #
|
||||
b0 "
|
||||
b0 !
|
||||
$end
|
||||
#10
|
||||
1%"
|
||||
1*"
|
||||
0("
|
||||
1!"
|
||||
0k
|
||||
b100 &
|
||||
1i
|
||||
1o
|
||||
0P
|
||||
1d
|
||||
0)"
|
||||
1S
|
||||
b1000 (
|
||||
1K
|
||||
1,"
|
||||
b10000 !
|
||||
b10000 +
|
||||
0$"
|
||||
1J
|
||||
1#"
|
||||
b1010 "
|
||||
b1010 #
|
||||
#20
|
||||
0%"
|
||||
1$"
|
||||
0*"
|
||||
0y
|
||||
b1000010 !
|
||||
b1000010 +
|
||||
1w
|
||||
1("
|
||||
1}
|
||||
0!"
|
||||
0]
|
||||
1r
|
||||
1k
|
||||
b0 &
|
||||
0i
|
||||
1`
|
||||
b100z '
|
||||
1X
|
||||
0o
|
||||
1W
|
||||
0d
|
||||
1L
|
||||
b1 (
|
||||
0K
|
||||
1Q
|
||||
0O
|
||||
1H
|
||||
0B
|
||||
b100 )
|
||||
1@
|
||||
1F
|
||||
04
|
||||
1;
|
||||
17
|
||||
b1000 *
|
||||
1/
|
||||
1.
|
||||
b101010 "
|
||||
b101010 #
|
||||
#30
|
||||
1&"
|
||||
0+"
|
||||
1v
|
||||
0,"
|
||||
1y
|
||||
0{
|
||||
1~
|
||||
0u
|
||||
1h
|
||||
0z
|
||||
0m
|
||||
0x
|
||||
1q
|
||||
1c
|
||||
0'"
|
||||
1[
|
||||
1N
|
||||
0w
|
||||
0|
|
||||
0t
|
||||
1-"
|
||||
1a
|
||||
1T
|
||||
1O
|
||||
0}
|
||||
0s
|
||||
0""
|
||||
1%"
|
||||
0$"
|
||||
1V
|
||||
1I
|
||||
0H
|
||||
0]
|
||||
0r
|
||||
0g
|
||||
0f
|
||||
1*"
|
||||
1>
|
||||
1=
|
||||
b1001 )
|
||||
0@
|
||||
0`
|
||||
b10z '
|
||||
0X
|
||||
0l
|
||||
0("
|
||||
1C
|
||||
0D
|
||||
0W
|
||||
0n
|
||||
0j
|
||||
0!"
|
||||
0A
|
||||
0L
|
||||
0b
|
||||
1k
|
||||
b10 &
|
||||
0i
|
||||
1:
|
||||
0Q
|
||||
0M
|
||||
0o
|
||||
b1100 *
|
||||
12
|
||||
0P
|
||||
1R
|
||||
0d
|
||||
18
|
||||
0S
|
||||
b100 (
|
||||
0K
|
||||
b10011001 !
|
||||
b10011001 +
|
||||
1-
|
||||
0J
|
||||
b1100011 "
|
||||
b1100011 #
|
||||
#40
|
||||
1w
|
||||
1n
|
||||
1b
|
||||
1M
|
||||
1}
|
||||
1u
|
||||
0R
|
||||
1r
|
||||
1z
|
||||
0v
|
||||
1`
|
||||
b110z '
|
||||
1X
|
||||
1!"
|
||||
0y
|
||||
1{
|
||||
1G
|
||||
1W
|
||||
1i
|
||||
1|
|
||||
0t
|
||||
1?
|
||||
1L
|
||||
1m
|
||||
1s
|
||||
1""
|
||||
1%"
|
||||
1Q
|
||||
0j
|
||||
1g
|
||||
1f
|
||||
1*"
|
||||
0)"
|
||||
0O
|
||||
0c
|
||||
1l
|
||||
0("
|
||||
1-"
|
||||
19
|
||||
0H
|
||||
0N
|
||||
0k
|
||||
0~
|
||||
0:
|
||||
11
|
||||
1F
|
||||
0@
|
||||
1T
|
||||
1o
|
||||
b1101 &
|
||||
0h
|
||||
0&"
|
||||
0'"
|
||||
02
|
||||
14
|
||||
06
|
||||
0;
|
||||
0D
|
||||
0I
|
||||
0d
|
||||
0+"
|
||||
03
|
||||
08
|
||||
07
|
||||
b10 *
|
||||
0/
|
||||
0E
|
||||
b11 )
|
||||
0=
|
||||
0S
|
||||
b11 (
|
||||
0K
|
||||
0,"
|
||||
b101010011 !
|
||||
b101010011 +
|
||||
1$"
|
||||
1,
|
||||
0-
|
||||
0.
|
||||
1<
|
||||
1J
|
||||
0#"
|
||||
b10011001 "
|
||||
b10011001 #
|
||||
#50
|
||||
0t
|
||||
1{
|
||||
1w
|
||||
0y
|
||||
1}
|
||||
1%"
|
||||
0|
|
||||
0u
|
||||
1r
|
||||
1*"
|
||||
0s
|
||||
0z
|
||||
1X
|
||||
1o
|
||||
0("
|
||||
0g
|
||||
1x
|
||||
0_
|
||||
0l
|
||||
0q
|
||||
0c
|
||||
0`
|
||||
1j
|
||||
b100z '
|
||||
0[
|
||||
0N
|
||||
1Y
|
||||
0W
|
||||
1d
|
||||
0b
|
||||
1a
|
||||
1^
|
||||
0L
|
||||
1K
|
||||
b1000 (
|
||||
0M
|
||||
0&"
|
||||
1V
|
||||
0I
|
||||
0H
|
||||
0\
|
||||
0F
|
||||
0Q
|
||||
1R
|
||||
1>
|
||||
0=
|
||||
0@
|
||||
1U
|
||||
1S
|
||||
1O
|
||||
0T
|
||||
1C
|
||||
1D
|
||||
10
|
||||
0G
|
||||
0~
|
||||
1!"
|
||||
1:
|
||||
1E
|
||||
0A
|
||||
15
|
||||
b1 )
|
||||
0?
|
||||
0h
|
||||
1i
|
||||
1-"
|
||||
1'"
|
||||
12
|
||||
09
|
||||
04
|
||||
16
|
||||
0;
|
||||
1m
|
||||
1""
|
||||
1+"
|
||||
18
|
||||
01
|
||||
17
|
||||
b101 *
|
||||
0/
|
||||
1n
|
||||
b1100 &
|
||||
1f
|
||||
1,"
|
||||
b1001010101 !
|
||||
b1001010101 +
|
||||
0$"
|
||||
1-
|
||||
1.
|
||||
1e
|
||||
1#"
|
||||
b11111111 "
|
||||
b11111111 #
|
||||
#60
|
2
verilog/ALU0.2/BinaryToBCD.vcdZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
2
verilog/ALU0.2/BinaryToBCD.vZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
40
verilog/ALU0.2/BinaryToBCDTB.v
Normal file
@ -0,0 +1,40 @@
|
||||
module BinaryToBCDTB;
|
||||
// Testbench signals
|
||||
reg [7:0] binary;
|
||||
wire [11:0] bcd; // Output BCD
|
||||
|
||||
// Instantiate the BinaryToBCD module
|
||||
BinaryToBCD uut (
|
||||
.binary(binary),
|
||||
.bcd(bcd)
|
||||
);
|
||||
|
||||
// Testbench procedure
|
||||
initial begin
|
||||
$monitor("Time: %0t | Binary: %b | BCD: %b (Hundreds: %d, Tens: %d, Ones: %d)",
|
||||
$time, binary, bcd, bcd[11:8], bcd[7:4], bcd[3:0]);
|
||||
$dumpfile("BinaryToBCD.vcd");
|
||||
$dumpvars;
|
||||
// Test cases
|
||||
binary = 8'b00000000; // Decimal: 0
|
||||
#10;
|
||||
|
||||
binary = 8'b00001010; // Decimal: 10
|
||||
#10;
|
||||
|
||||
binary = 8'b00101010; // Decimal: 42
|
||||
#10;
|
||||
|
||||
binary = 8'b01100011; // Decimal: 99
|
||||
#10;
|
||||
|
||||
binary = 8'b10011001; // Decimal: 153
|
||||
#10;
|
||||
|
||||
binary = 8'b11111111; // Decimal: 255
|
||||
#10;
|
||||
|
||||
// End simulation
|
||||
$finish;
|
||||
end
|
||||
endmodule
|
2
verilog/ALU0.2/BinaryToBCDTB.vZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
20
verilog/ALU0.2/addition.v
Normal file
@ -0,0 +1,20 @@
|
||||
module addition (
|
||||
input [3:0] A, B,
|
||||
input CarryIN,
|
||||
output [3:0] Y,
|
||||
output CarryOUT,
|
||||
output overflow
|
||||
);
|
||||
|
||||
wire [2:0] Carry4;
|
||||
|
||||
fulladder f0(.A(A[0]), .B(B[0]), .Carry(CarryIN), .Sum(Y[0]), .CarryO(Carry4[0]));
|
||||
fulladder f1(.A(A[1]), .B(B[1]), .Carry(Carry4[0]), .Sum(Y[1]), .CarryO(Carry4[1]));
|
||||
fulladder f2(.A(A[2]), .B(B[2]), .Carry(Carry4[1]), .Sum(Y[2]), .CarryO(Carry4[2]));
|
||||
fulladder f3(.A(A[3]), .B(B[3]), .Carry(Carry4[2]), .Sum(Y[3]), .CarryO(CarryOUT));
|
||||
|
||||
|
||||
//overflowDetect od1 (.opCode(2'b01), .A(A), .B(B), .Y(Y), .CarryOUT(CarryOUT), .overflowDetect(overflow)); (KULLANILMAYACAK!!!!)
|
||||
xor ov1 (overflow, Carry4[2], CarryOUT);
|
||||
|
||||
endmodule
|
2
verilog/ALU0.2/addition.vZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
33
verilog/ALU0.2/arithmeticUnit.v
Normal file
@ -0,0 +1,33 @@
|
||||
module arithmeticUnit (
|
||||
input [1:0] opCode,
|
||||
input [3:0] A, B,
|
||||
input CarryIN,
|
||||
output [3:0] add_Y, sub_Y,
|
||||
output CarryOUT,
|
||||
output overflow
|
||||
);
|
||||
|
||||
wire [3:0] addY, subY;
|
||||
wire CarryOUTADD, CarryOUTSUB, tempCAdd, tempCSub, tempoverflow;
|
||||
|
||||
addition a1(.A(A), .B(B), .CarryIN(CarryIN), .Y(addY), .CarryOUT(CarryOUTADD), .overflow(tempoverflow));
|
||||
subtraction s1(.A(A), .B(B), .BorrowIN(CarryIN), .Y(subY), .BorrowOUT(CarryOUTSUB));
|
||||
|
||||
and add1 (add_Y[0], opCode[0], addY[0]);
|
||||
and add2 (add_Y[1], opCode[0], addY[1]);
|
||||
and add3 (add_Y[2], opCode[0], addY[2]);
|
||||
and add4 (add_Y[3], opCode[0], addY[3]);
|
||||
|
||||
and sub1 (sub_Y[0], opCode[1], subY[0]);
|
||||
and sub2 (sub_Y[1], opCode[1], subY[1]);
|
||||
and sub3 (sub_Y[2], opCode[1], subY[2]);
|
||||
and sub4 (sub_Y[3], opCode[1], subY[3]);
|
||||
|
||||
// or or1 (CarryOUT, CarryOUTADD, CarryOUTSUB); (OLD!!!)
|
||||
and and10 (tempCSub, CarryOUTSUB, opCode[1]);
|
||||
and and11 (tempCAdd, CarryOUTADD, opCode[0]);
|
||||
or or4 (CarryOUT, tempCAdd, tempCSub);
|
||||
|
||||
and add12 (overflow, opCode[0], tempoverflow);
|
||||
|
||||
endmodule
|
2
verilog/ALU0.2/arithmeticUnit.vZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
362
verilog/ALU0.2/binarytobcd
Normal file
@ -0,0 +1,362 @@
|
||||
#! /usr/bin/vvp
|
||||
:ivl_version "11.0 (stable)";
|
||||
:ivl_delay_selection "TYPICAL";
|
||||
:vpi_time_precision + 0;
|
||||
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/system.vpi";
|
||||
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_sys.vpi";
|
||||
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_textio.vpi";
|
||||
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/v2005_math.vpi";
|
||||
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/va_math.vpi";
|
||||
S_0x56140140d330 .scope module, "BinaryToBCDTB" "BinaryToBCDTB" 2 1;
|
||||
.timescale 0 0;
|
||||
v0x561401436a70_0 .net "bcd", 11 0, L_0x56140143cdd0; 1 drivers
|
||||
v0x561401436b30_0 .var "binary", 7 0;
|
||||
S_0x56140140a900 .scope module, "uut" "BinaryToBCD" 2 7, 3 1 0, S_0x56140140d330;
|
||||
.timescale 0 0;
|
||||
.port_info 0 /INPUT 8 "binary";
|
||||
.port_info 1 /OUTPUT 12 "bcd";
|
||||
L_0x7f952d86e018 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>;
|
||||
L_0x7f952d86e060 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>;
|
||||
L_0x561401413c60 .functor AND 1, L_0x7f952d86e018, L_0x7f952d86e060, C4<1>, C4<1>;
|
||||
L_0x7f952d86e0a8 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>;
|
||||
L_0x7f952d86e0f0 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>;
|
||||
L_0x561401436c90 .functor AND 1, L_0x7f952d86e0a8, L_0x7f952d86e0f0, C4<1>, C4<1>;
|
||||
L_0x7f952d86e138 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>;
|
||||
L_0x7f952d86e180 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>;
|
||||
L_0x561401436df0 .functor AND 1, L_0x7f952d86e138, L_0x7f952d86e180, C4<1>, C4<1>;
|
||||
L_0x7f952d86e1c8 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>;
|
||||
L_0x7f952d86e210 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>;
|
||||
L_0x561401436f80 .functor AND 1, L_0x7f952d86e1c8, L_0x7f952d86e210, C4<1>, C4<1>;
|
||||
L_0x7f952d86e258 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>;
|
||||
L_0x56140143d200 .functor OR 1, L_0x56140143d2c0, L_0x7f952d86e258, C4<0>, C4<0>;
|
||||
v0x561401435620_0 .net/2u *"_ivl_0", 0 0, L_0x7f952d86e018; 1 drivers
|
||||
v0x561401435720_0 .net/2u *"_ivl_10", 0 0, L_0x7f952d86e138; 1 drivers
|
||||
v0x561401435800_0 .net/2u *"_ivl_12", 0 0, L_0x7f952d86e180; 1 drivers
|
||||
v0x5614014358c0_0 .net *"_ivl_132", 0 0, L_0x56140143d200; 1 drivers
|
||||
v0x5614014359a0_0 .net *"_ivl_136", 0 0, L_0x56140143d2c0; 1 drivers
|
||||
v0x561401435a80_0 .net/2u *"_ivl_137", 0 0, L_0x7f952d86e258; 1 drivers
|
||||
v0x561401435b60_0 .net *"_ivl_14", 0 0, L_0x561401436f80; 1 drivers
|
||||
o0x7f952d8b8e48 .functor BUFZ 1, C4<z>; HiZ drive
|
||||
; Elide local net with no drivers, v0x561401435c40_0 name=_ivl_141
|
||||
v0x561401435d20_0 .net/2u *"_ivl_16", 0 0, L_0x7f952d86e1c8; 1 drivers
|
||||
v0x561401435e90_0 .net/2u *"_ivl_18", 0 0, L_0x7f952d86e210; 1 drivers
|
||||
v0x561401435f70_0 .net/2u *"_ivl_2", 0 0, L_0x7f952d86e060; 1 drivers
|
||||
v0x561401436050_0 .net/2u *"_ivl_4", 0 0, L_0x7f952d86e0a8; 1 drivers
|
||||
v0x561401436130_0 .net/2u *"_ivl_6", 0 0, L_0x7f952d86e0f0; 1 drivers
|
||||
v0x561401436210_0 .net *"_ivl_8", 0 0, L_0x561401436df0; 1 drivers
|
||||
v0x5614014362f0_0 .net "bcd", 11 0, L_0x56140143cdd0; alias, 1 drivers
|
||||
v0x5614014363d0_0 .net "binary", 7 0, v0x561401436b30_0; 1 drivers
|
||||
v0x5614014364b0_0 .net "dab1", 3 0, L_0x561401437c20; 1 drivers
|
||||
v0x561401436590_0 .net "dab2", 3 0, L_0x561401438a60; 1 drivers
|
||||
v0x561401436670_0 .net "dab3", 3 0, L_0x561401439840; 1 drivers
|
||||
v0x561401436750_0 .net "dab4", 3 0, L_0x56140143d510; 1 drivers
|
||||
v0x561401436830_0 .net "dab5", 3 0, L_0x56140143b080; 1 drivers
|
||||
v0x561401436910_0 .net "empty1", 0 0, L_0x561401413c60; 1 drivers
|
||||
v0x5614014369b0_0 .net "empty2", 0 0, L_0x561401436c90; 1 drivers
|
||||
L_0x561401437960 .part v0x561401436b30_0, 7, 1;
|
||||
L_0x561401437a50 .part v0x561401436b30_0, 6, 1;
|
||||
L_0x561401437af0 .part v0x561401436b30_0, 5, 1;
|
||||
L_0x561401437c20 .concat8 [ 1 1 1 1], L_0x561401437500, L_0x561401437670, L_0x5614014377d0, L_0x561401437840;
|
||||
L_0x561401438630 .part L_0x561401437c20, 1, 1;
|
||||
L_0x561401438760 .part L_0x561401437c20, 2, 1;
|
||||
L_0x561401438840 .part L_0x561401437c20, 3, 1;
|
||||
L_0x561401438970 .part v0x561401436b30_0, 4, 1;
|
||||
L_0x561401438a60 .concat8 [ 1 1 1 1], L_0x5614014381d0, L_0x561401438340, L_0x5614014384a0, L_0x561401438510;
|
||||
L_0x5614014393d0 .part L_0x561401438a60, 1, 1;
|
||||
L_0x561401439560 .part L_0x561401438a60, 2, 1;
|
||||
L_0x561401439600 .part L_0x561401438a60, 3, 1;
|
||||
L_0x5614014397a0 .part v0x561401436b30_0, 3, 1;
|
||||
L_0x561401439840 .concat8 [ 1 1 1 1], L_0x561401438fb0, L_0x5614014390e0, L_0x561401439240, L_0x5614014392b0;
|
||||
L_0x56140143a190 .part L_0x561401437c20, 0, 1;
|
||||
L_0x56140143a230 .part L_0x561401438a60, 0, 1;
|
||||
L_0x56140143a360 .part L_0x561401439840, 0, 1;
|
||||
L_0x56140143acc0 .part L_0x561401439840, 1, 1;
|
||||
L_0x56140143ae90 .part L_0x561401439840, 2, 1;
|
||||
L_0x56140143af30 .part L_0x561401439840, 3, 1;
|
||||
L_0x56140143adf0 .part v0x561401436b30_0, 2, 1;
|
||||
L_0x56140143b080 .concat8 [ 1 1 1 1], L_0x56140143a8a0, L_0x56140143a9d0, L_0x56140143ab30, L_0x56140143aba0;
|
||||
L_0x56140143bac0 .part L_0x56140143d510, 1, 1;
|
||||
L_0x56140143bbf0 .part L_0x56140143d510, 2, 1;
|
||||
L_0x56140143bd60 .part L_0x56140143d510, 3, 1;
|
||||
L_0x56140143be00 .part L_0x56140143b080, 0, 1;
|
||||
L_0x56140143c840 .part L_0x56140143b080, 1, 1;
|
||||
L_0x56140143c970 .part L_0x56140143b080, 2, 1;
|
||||
L_0x56140143cb90 .part L_0x56140143b080, 3, 1;
|
||||
L_0x56140143cc30 .part v0x561401436b30_0, 1, 1;
|
||||
LS_0x56140143cdd0_0_0 .concat8 [ 1 1 1 1], L_0x56140143d200, L_0x56140143c720, L_0x56140143c6b0, L_0x56140143c550;
|
||||
LS_0x56140143cdd0_0_4 .concat8 [ 1 1 1 1], L_0x56140143c420, L_0x56140143b9a0, L_0x56140143b930, L_0x56140143b7d0;
|
||||
LS_0x56140143cdd0_0_8 .concat8 [ 1 1 1 1], L_0x56140143b6a0, L_0x561401439d70, L_0x561401436f80, L_0x561401436df0;
|
||||
L_0x56140143cdd0 .concat8 [ 4 4 4 0], LS_0x56140143cdd0_0_0, LS_0x56140143cdd0_0_4, LS_0x56140143cdd0_0_8;
|
||||
L_0x56140143d2c0 .part v0x561401436b30_0, 0, 1;
|
||||
L_0x56140143d510 .concat [ 1 1 1 1], o0x7f952d8b8e48, L_0x561401439ea0, L_0x56140143a000, L_0x56140143a070;
|
||||
S_0x561401408560 .scope module, "d1t" "dabble" 3 14, 4 1 0, S_0x56140140a900;
|
||||
.timescale 0 0;
|
||||
.port_info 0 /INPUT 1 "A";
|
||||
.port_info 1 /INPUT 1 "B";
|
||||
.port_info 2 /INPUT 1 "C";
|
||||
.port_info 3 /INPUT 1 "D";
|
||||
.port_info 4 /OUTPUT 1 "X";
|
||||
.port_info 5 /OUTPUT 1 "Y";
|
||||
.port_info 6 /OUTPUT 1 "Z";
|
||||
.port_info 7 /OUTPUT 1 "E";
|
||||
L_0x5614014370c0 .functor XOR 1, L_0x561401413c60, L_0x561401437af0, C4<0>, C4<0>;
|
||||
L_0x561401437130 .functor NOR 1, L_0x561401413c60, L_0x561401437960, C4<0>, C4<0>;
|
||||
L_0x561401437200 .functor XOR 1, L_0x561401413c60, L_0x561401437a50, C4<0>, C4<0>;
|
||||
L_0x5614014372d0 .functor NOR 1, L_0x5614014370c0, L_0x561401437200, C4<0>, C4<0>;
|
||||
L_0x5614014373f0 .functor NOR 1, L_0x5614014372d0, L_0x561401437130, C4<0>, C4<0>;
|
||||
L_0x561401437500 .functor BUF 1, L_0x5614014373f0, C4<0>, C4<0>, C4<0>;
|
||||
L_0x561401437600 .functor OR 1, L_0x5614014370c0, L_0x561401437130, C4<0>, C4<0>;
|
||||
L_0x561401437670 .functor NOR 1, L_0x561401437600, L_0x561401437a50, C4<0>, C4<0>;
|
||||
L_0x5614014377d0 .functor AND 1, L_0x561401437600, L_0x561401437200, C4<1>, C4<1>;
|
||||
L_0x561401437840 .functor XOR 1, L_0x5614014373f0, L_0x561401437af0, C4<0>, C4<0>;
|
||||
v0x56140140b5f0_0 .net "A", 0 0, L_0x561401413c60; alias, 1 drivers
|
||||
v0x56140140b2e0_0 .net "B", 0 0, L_0x561401437960; 1 drivers
|
||||
v0x56140140afa0_0 .net "C", 0 0, L_0x561401437a50; 1 drivers
|
||||
v0x561401412b80_0 .net "D", 0 0, L_0x561401437af0; 1 drivers
|
||||
v0x561401412e90_0 .net "E", 0 0, L_0x561401437840; 1 drivers
|
||||
v0x5614014131a0_0 .net "X", 0 0, L_0x561401437500; 1 drivers
|
||||
v0x561401413450_0 .net "Y", 0 0, L_0x561401437670; 1 drivers
|
||||
v0x56140142f5e0_0 .net "Z", 0 0, L_0x5614014377d0; 1 drivers
|
||||
v0x56140142f6a0_0 .net "nor1", 0 0, L_0x561401437130; 1 drivers
|
||||
v0x56140142f760_0 .net "nor2", 0 0, L_0x5614014372d0; 1 drivers
|
||||
v0x56140142f820_0 .net "nor3", 0 0, L_0x5614014373f0; 1 drivers
|
||||
v0x56140142f8e0_0 .net "or1", 0 0, L_0x561401437600; 1 drivers
|
||||
v0x56140142f9a0_0 .net "xor1", 0 0, L_0x5614014370c0; 1 drivers
|
||||
v0x56140142fa60_0 .net "xor2", 0 0, L_0x561401437200; 1 drivers
|
||||
S_0x56140142fc20 .scope module, "d2u" "dabble" 3 23, 4 1 0, S_0x56140140a900;
|
||||
.timescale 0 0;
|
||||
.port_info 0 /INPUT 1 "A";
|
||||
.port_info 1 /INPUT 1 "B";
|
||||
.port_info 2 /INPUT 1 "C";
|
||||
.port_info 3 /INPUT 1 "D";
|
||||
.port_info 4 /OUTPUT 1 "X";
|
||||
.port_info 5 /OUTPUT 1 "Y";
|
||||
.port_info 6 /OUTPUT 1 "Z";
|
||||
.port_info 7 /OUTPUT 1 "E";
|
||||
L_0x561401437de0 .functor XOR 1, L_0x561401438630, L_0x561401438970, C4<0>, C4<0>;
|
||||
L_0x561401437e50 .functor NOR 1, L_0x561401438630, L_0x561401438760, C4<0>, C4<0>;
|
||||
L_0x561401437f10 .functor XOR 1, L_0x561401438630, L_0x561401438840, C4<0>, C4<0>;
|
||||
L_0x561401437f80 .functor NOR 1, L_0x561401437de0, L_0x561401437f10, C4<0>, C4<0>;
|
||||
L_0x5614014380c0 .functor NOR 1, L_0x561401437f80, L_0x561401437e50, C4<0>, C4<0>;
|
||||
L_0x5614014381d0 .functor BUF 1, L_0x5614014380c0, C4<0>, C4<0>, C4<0>;
|
||||
L_0x5614014382d0 .functor OR 1, L_0x561401437de0, L_0x561401437e50, C4<0>, C4<0>;
|
||||
L_0x561401438340 .functor NOR 1, L_0x5614014382d0, L_0x561401438840, C4<0>, C4<0>;
|
||||
L_0x5614014384a0 .functor AND 1, L_0x5614014382d0, L_0x561401437f10, C4<1>, C4<1>;
|
||||
L_0x561401438510 .functor XOR 1, L_0x5614014380c0, L_0x561401438970, C4<0>, C4<0>;
|
||||
v0x56140142fef0_0 .net "A", 0 0, L_0x561401438630; 1 drivers
|
||||
v0x56140142ffb0_0 .net "B", 0 0, L_0x561401438760; 1 drivers
|
||||
v0x561401430070_0 .net "C", 0 0, L_0x561401438840; 1 drivers
|
||||
v0x561401430110_0 .net "D", 0 0, L_0x561401438970; 1 drivers
|
||||
v0x5614014301d0_0 .net "E", 0 0, L_0x561401438510; 1 drivers
|
||||
v0x5614014302e0_0 .net "X", 0 0, L_0x5614014381d0; 1 drivers
|
||||
v0x5614014303a0_0 .net "Y", 0 0, L_0x561401438340; 1 drivers
|
||||
v0x561401430460_0 .net "Z", 0 0, L_0x5614014384a0; 1 drivers
|
||||
v0x561401430520_0 .net "nor1", 0 0, L_0x561401437e50; 1 drivers
|
||||
v0x5614014305e0_0 .net "nor2", 0 0, L_0x561401437f80; 1 drivers
|
||||
v0x5614014306a0_0 .net "nor3", 0 0, L_0x5614014380c0; 1 drivers
|
||||
v0x561401430760_0 .net "or1", 0 0, L_0x5614014382d0; 1 drivers
|
||||
v0x561401430820_0 .net "xor1", 0 0, L_0x561401437de0; 1 drivers
|
||||
v0x5614014308e0_0 .net "xor2", 0 0, L_0x561401437f10; 1 drivers
|
||||
S_0x561401430aa0 .scope module, "d3v" "dabble" 3 32, 4 1 0, S_0x56140140a900;
|
||||
.timescale 0 0;
|
||||
.port_info 0 /INPUT 1 "A";
|
||||
.port_info 1 /INPUT 1 "B";
|
||||
.port_info 2 /INPUT 1 "C";
|
||||
.port_info 3 /INPUT 1 "D";
|
||||
.port_info 4 /OUTPUT 1 "X";
|
||||
.port_info 5 /OUTPUT 1 "Y";
|
||||
.port_info 6 /OUTPUT 1 "Z";
|
||||
.port_info 7 /OUTPUT 1 "E";
|
||||
L_0x561401438bf0 .functor XOR 1, L_0x5614014393d0, L_0x5614014397a0, C4<0>, C4<0>;
|
||||
L_0x561401438c60 .functor NOR 1, L_0x5614014393d0, L_0x561401439560, C4<0>, C4<0>;
|
||||
L_0x561401438d20 .functor XOR 1, L_0x5614014393d0, L_0x561401439600, C4<0>, C4<0>;
|
||||
L_0x561401438d90 .functor NOR 1, L_0x561401438bf0, L_0x561401438d20, C4<0>, C4<0>;
|
||||
L_0x561401438ea0 .functor NOR 1, L_0x561401438d90, L_0x561401438c60, C4<0>, C4<0>;
|
||||
L_0x561401438fb0 .functor BUF 1, L_0x561401438ea0, C4<0>, C4<0>, C4<0>;
|
||||
L_0x561401439070 .functor OR 1, L_0x561401438bf0, L_0x561401438c60, C4<0>, C4<0>;
|
||||
L_0x5614014390e0 .functor NOR 1, L_0x561401439070, L_0x561401439600, C4<0>, C4<0>;
|
||||
L_0x561401439240 .functor AND 1, L_0x561401439070, L_0x561401438d20, C4<1>, C4<1>;
|
||||
L_0x5614014392b0 .functor XOR 1, L_0x561401438ea0, L_0x5614014397a0, C4<0>, C4<0>;
|
||||
v0x561401430d50_0 .net "A", 0 0, L_0x5614014393d0; 1 drivers
|
||||
v0x561401430e10_0 .net "B", 0 0, L_0x561401439560; 1 drivers
|
||||
v0x561401430ed0_0 .net "C", 0 0, L_0x561401439600; 1 drivers
|
||||
v0x561401430f70_0 .net "D", 0 0, L_0x5614014397a0; 1 drivers
|
||||
v0x561401431030_0 .net "E", 0 0, L_0x5614014392b0; 1 drivers
|
||||
v0x561401431140_0 .net "X", 0 0, L_0x561401438fb0; 1 drivers
|
||||
v0x561401431200_0 .net "Y", 0 0, L_0x5614014390e0; 1 drivers
|
||||
v0x5614014312c0_0 .net "Z", 0 0, L_0x561401439240; 1 drivers
|
||||
v0x561401431380_0 .net "nor1", 0 0, L_0x561401438c60; 1 drivers
|
||||
v0x5614014314d0_0 .net "nor2", 0 0, L_0x561401438d90; 1 drivers
|
||||
v0x561401431590_0 .net "nor3", 0 0, L_0x561401438ea0; 1 drivers
|
||||
v0x561401431650_0 .net "or1", 0 0, L_0x561401439070; 1 drivers
|
||||
v0x561401431710_0 .net "xor1", 0 0, L_0x561401438bf0; 1 drivers
|
||||
v0x5614014317d0_0 .net "xor2", 0 0, L_0x561401438d20; 1 drivers
|
||||
S_0x561401431990 .scope module, "d4w" "dabble" 3 41, 4 1 0, S_0x56140140a900;
|
||||
.timescale 0 0;
|
||||
.port_info 0 /INPUT 1 "A";
|
||||
.port_info 1 /INPUT 1 "B";
|
||||
.port_info 2 /INPUT 1 "C";
|
||||
.port_info 3 /INPUT 1 "D";
|
||||
.port_info 4 /OUTPUT 1 "X";
|
||||
.port_info 5 /OUTPUT 1 "Y";
|
||||
.port_info 6 /OUTPUT 1 "Z";
|
||||
.port_info 7 /OUTPUT 1 "E";
|
||||
L_0x561401439730 .functor XOR 1, L_0x561401436c90, L_0x56140143a360, C4<0>, C4<0>;
|
||||
L_0x561401439a00 .functor NOR 1, L_0x561401436c90, L_0x56140143a190, C4<0>, C4<0>;
|
||||
L_0x561401439b00 .functor XOR 1, L_0x561401436c90, L_0x56140143a230, C4<0>, C4<0>;
|
||||
L_0x561401439b70 .functor NOR 1, L_0x561401439730, L_0x561401439b00, C4<0>, C4<0>;
|
||||
L_0x561401439c60 .functor NOR 1, L_0x561401439b70, L_0x561401439a00, C4<0>, C4<0>;
|
||||
L_0x561401439d70 .functor BUF 1, L_0x561401439c60, C4<0>, C4<0>, C4<0>;
|
||||
L_0x561401439e30 .functor OR 1, L_0x561401439730, L_0x561401439a00, C4<0>, C4<0>;
|
||||
L_0x561401439ea0 .functor NOR 1, L_0x561401439e30, L_0x56140143a230, C4<0>, C4<0>;
|
||||
L_0x56140143a000 .functor AND 1, L_0x561401439e30, L_0x561401439b00, C4<1>, C4<1>;
|
||||
L_0x56140143a070 .functor XOR 1, L_0x561401439c60, L_0x56140143a360, C4<0>, C4<0>;
|
||||
v0x561401431c40_0 .net "A", 0 0, L_0x561401436c90; alias, 1 drivers
|
||||
v0x561401431d20_0 .net "B", 0 0, L_0x56140143a190; 1 drivers
|
||||
v0x561401431de0_0 .net "C", 0 0, L_0x56140143a230; 1 drivers
|
||||
v0x561401431e80_0 .net "D", 0 0, L_0x56140143a360; 1 drivers
|
||||
v0x561401431f40_0 .net "E", 0 0, L_0x56140143a070; 1 drivers
|
||||
v0x561401432050_0 .net "X", 0 0, L_0x561401439d70; 1 drivers
|
||||
v0x561401432110_0 .net "Y", 0 0, L_0x561401439ea0; 1 drivers
|
||||
v0x5614014321d0_0 .net "Z", 0 0, L_0x56140143a000; 1 drivers
|
||||
v0x561401432290_0 .net "nor1", 0 0, L_0x561401439a00; 1 drivers
|
||||
v0x5614014323e0_0 .net "nor2", 0 0, L_0x561401439b70; 1 drivers
|
||||
v0x5614014324a0_0 .net "nor3", 0 0, L_0x561401439c60; 1 drivers
|
||||
v0x561401432560_0 .net "or1", 0 0, L_0x561401439e30; 1 drivers
|
||||
v0x561401432620_0 .net "xor1", 0 0, L_0x561401439730; 1 drivers
|
||||
v0x5614014326e0_0 .net "xor2", 0 0, L_0x561401439b00; 1 drivers
|
||||
S_0x5614014328a0 .scope module, "d5x" "dabble" 3 50, 4 1 0, S_0x56140140a900;
|
||||
.timescale 0 0;
|
||||
.port_info 0 /INPUT 1 "A";
|
||||
.port_info 1 /INPUT 1 "B";
|
||||
.port_info 2 /INPUT 1 "C";
|
||||
.port_info 3 /INPUT 1 "D";
|
||||
.port_info 4 /OUTPUT 1 "X";
|
||||
.port_info 5 /OUTPUT 1 "Y";
|
||||
.port_info 6 /OUTPUT 1 "Z";
|
||||
.port_info 7 /OUTPUT 1 "E";
|
||||
L_0x56140143a450 .functor XOR 1, L_0x56140143acc0, L_0x56140143adf0, C4<0>, C4<0>;
|
||||
L_0x56140143a4c0 .functor NOR 1, L_0x56140143acc0, L_0x56140143ae90, C4<0>, C4<0>;
|
||||
L_0x56140143a580 .functor XOR 1, L_0x56140143acc0, L_0x56140143af30, C4<0>, C4<0>;
|
||||
L_0x56140143a620 .functor NOR 1, L_0x56140143a450, L_0x56140143a580, C4<0>, C4<0>;
|
||||
L_0x56140143a790 .functor NOR 1, L_0x56140143a620, L_0x56140143a4c0, C4<0>, C4<0>;
|
||||
L_0x56140143a8a0 .functor BUF 1, L_0x56140143a790, C4<0>, C4<0>, C4<0>;
|
||||
L_0x56140143a960 .functor OR 1, L_0x56140143a450, L_0x56140143a4c0, C4<0>, C4<0>;
|
||||
L_0x56140143a9d0 .functor NOR 1, L_0x56140143a960, L_0x56140143af30, C4<0>, C4<0>;
|
||||
L_0x56140143ab30 .functor AND 1, L_0x56140143a960, L_0x56140143a580, C4<1>, C4<1>;
|
||||
L_0x56140143aba0 .functor XOR 1, L_0x56140143a790, L_0x56140143adf0, C4<0>, C4<0>;
|
||||
v0x561401432ba0_0 .net "A", 0 0, L_0x56140143acc0; 1 drivers
|
||||
v0x561401432c80_0 .net "B", 0 0, L_0x56140143ae90; 1 drivers
|
||||
v0x561401432d40_0 .net "C", 0 0, L_0x56140143af30; 1 drivers
|
||||
v0x561401432de0_0 .net "D", 0 0, L_0x56140143adf0; 1 drivers
|
||||
v0x561401432ea0_0 .net "E", 0 0, L_0x56140143aba0; 1 drivers
|
||||
v0x561401432fb0_0 .net "X", 0 0, L_0x56140143a8a0; 1 drivers
|
||||
v0x561401433070_0 .net "Y", 0 0, L_0x56140143a9d0; 1 drivers
|
||||
v0x561401433130_0 .net "Z", 0 0, L_0x56140143ab30; 1 drivers
|
||||
v0x5614014331f0_0 .net "nor1", 0 0, L_0x56140143a4c0; 1 drivers
|
||||
v0x561401433340_0 .net "nor2", 0 0, L_0x56140143a620; 1 drivers
|
||||
v0x561401433400_0 .net "nor3", 0 0, L_0x56140143a790; 1 drivers
|
||||
v0x5614014334c0_0 .net "or1", 0 0, L_0x56140143a960; 1 drivers
|
||||
v0x561401433580_0 .net "xor1", 0 0, L_0x56140143a450; 1 drivers
|
||||
v0x561401433640_0 .net "xor2", 0 0, L_0x56140143a580; 1 drivers
|
||||
S_0x561401433800 .scope module, "d6y" "dabble" 3 59, 4 1 0, S_0x56140140a900;
|
||||
.timescale 0 0;
|
||||
.port_info 0 /INPUT 1 "A";
|
||||
.port_info 1 /INPUT 1 "B";
|
||||
.port_info 2 /INPUT 1 "C";
|
||||
.port_info 3 /INPUT 1 "D";
|
||||
.port_info 4 /OUTPUT 1 "X";
|
||||
.port_info 5 /OUTPUT 1 "Y";
|
||||
.port_info 6 /OUTPUT 1 "Z";
|
||||
.port_info 7 /OUTPUT 1 "E";
|
||||
L_0x56140143b280 .functor XOR 1, L_0x56140143bac0, L_0x56140143be00, C4<0>, C4<0>;
|
||||
L_0x56140143b2f0 .functor NOR 1, L_0x56140143bac0, L_0x56140143bbf0, C4<0>, C4<0>;
|
||||
L_0x56140143b3b0 .functor XOR 1, L_0x56140143bac0, L_0x56140143bd60, C4<0>, C4<0>;
|
||||
L_0x56140143b420 .functor NOR 1, L_0x56140143b280, L_0x56140143b3b0, C4<0>, C4<0>;
|
||||
L_0x56140143b590 .functor NOR 1, L_0x56140143b420, L_0x56140143b2f0, C4<0>, C4<0>;
|
||||
L_0x56140143b6a0 .functor BUF 1, L_0x56140143b590, C4<0>, C4<0>, C4<0>;
|
||||
L_0x56140143b760 .functor OR 1, L_0x56140143b280, L_0x56140143b2f0, C4<0>, C4<0>;
|
||||
L_0x56140143b7d0 .functor NOR 1, L_0x56140143b760, L_0x56140143bd60, C4<0>, C4<0>;
|
||||
L_0x56140143b930 .functor AND 1, L_0x56140143b760, L_0x56140143b3b0, C4<1>, C4<1>;
|
||||
L_0x56140143b9a0 .functor XOR 1, L_0x56140143b590, L_0x56140143be00, C4<0>, C4<0>;
|
||||
v0x561401433ab0_0 .net "A", 0 0, L_0x56140143bac0; 1 drivers
|
||||
v0x561401433b90_0 .net "B", 0 0, L_0x56140143bbf0; 1 drivers
|
||||
v0x561401433c50_0 .net "C", 0 0, L_0x56140143bd60; 1 drivers
|
||||
v0x561401433cf0_0 .net "D", 0 0, L_0x56140143be00; 1 drivers
|
||||
v0x561401433db0_0 .net "E", 0 0, L_0x56140143b9a0; 1 drivers
|
||||
v0x561401433ec0_0 .net "X", 0 0, L_0x56140143b6a0; 1 drivers
|
||||
v0x561401433f80_0 .net "Y", 0 0, L_0x56140143b7d0; 1 drivers
|
||||
v0x561401434040_0 .net "Z", 0 0, L_0x56140143b930; 1 drivers
|
||||
v0x561401434100_0 .net "nor1", 0 0, L_0x56140143b2f0; 1 drivers
|
||||
v0x561401434250_0 .net "nor2", 0 0, L_0x56140143b420; 1 drivers
|
||||
v0x561401434310_0 .net "nor3", 0 0, L_0x56140143b590; 1 drivers
|
||||
v0x5614014343d0_0 .net "or1", 0 0, L_0x56140143b760; 1 drivers
|
||||
v0x561401434490_0 .net "xor1", 0 0, L_0x56140143b280; 1 drivers
|
||||
v0x561401434550_0 .net "xor2", 0 0, L_0x56140143b3b0; 1 drivers
|
||||
S_0x561401434710 .scope module, "d7z" "dabble" 3 68, 4 1 0, S_0x56140140a900;
|
||||
.timescale 0 0;
|
||||
.port_info 0 /INPUT 1 "A";
|
||||
.port_info 1 /INPUT 1 "B";
|
||||
.port_info 2 /INPUT 1 "C";
|
||||
.port_info 3 /INPUT 1 "D";
|
||||
.port_info 4 /OUTPUT 1 "X";
|
||||
.port_info 5 /OUTPUT 1 "Y";
|
||||
.port_info 6 /OUTPUT 1 "Z";
|
||||
.port_info 7 /OUTPUT 1 "E";
|
||||
L_0x56140143bfd0 .functor XOR 1, L_0x56140143c840, L_0x56140143cc30, C4<0>, C4<0>;
|
||||
L_0x56140143c040 .functor NOR 1, L_0x56140143c840, L_0x56140143c970, C4<0>, C4<0>;
|
||||
L_0x56140143c100 .functor XOR 1, L_0x56140143c840, L_0x56140143cb90, C4<0>, C4<0>;
|
||||
L_0x56140143c1a0 .functor NOR 1, L_0x56140143bfd0, L_0x56140143c100, C4<0>, C4<0>;
|
||||
L_0x56140143c310 .functor NOR 1, L_0x56140143c1a0, L_0x56140143c040, C4<0>, C4<0>;
|
||||
L_0x56140143c420 .functor BUF 1, L_0x56140143c310, C4<0>, C4<0>, C4<0>;
|
||||
L_0x56140143c4e0 .functor OR 1, L_0x56140143bfd0, L_0x56140143c040, C4<0>, C4<0>;
|
||||
L_0x56140143c550 .functor NOR 1, L_0x56140143c4e0, L_0x56140143cb90, C4<0>, C4<0>;
|
||||
L_0x56140143c6b0 .functor AND 1, L_0x56140143c4e0, L_0x56140143c100, C4<1>, C4<1>;
|
||||
L_0x56140143c720 .functor XOR 1, L_0x56140143c310, L_0x56140143cc30, C4<0>, C4<0>;
|
||||
v0x5614014349c0_0 .net "A", 0 0, L_0x56140143c840; 1 drivers
|
||||
v0x561401434aa0_0 .net "B", 0 0, L_0x56140143c970; 1 drivers
|
||||
v0x561401434b60_0 .net "C", 0 0, L_0x56140143cb90; 1 drivers
|
||||
v0x561401434c00_0 .net "D", 0 0, L_0x56140143cc30; 1 drivers
|
||||
v0x561401434cc0_0 .net "E", 0 0, L_0x56140143c720; 1 drivers
|
||||
v0x561401434dd0_0 .net "X", 0 0, L_0x56140143c420; 1 drivers
|
||||
v0x561401434e90_0 .net "Y", 0 0, L_0x56140143c550; 1 drivers
|
||||
v0x561401434f50_0 .net "Z", 0 0, L_0x56140143c6b0; 1 drivers
|
||||
v0x561401435010_0 .net "nor1", 0 0, L_0x56140143c040; 1 drivers
|
||||
v0x561401435160_0 .net "nor2", 0 0, L_0x56140143c1a0; 1 drivers
|
||||
v0x561401435220_0 .net "nor3", 0 0, L_0x56140143c310; 1 drivers
|
||||
v0x5614014352e0_0 .net "or1", 0 0, L_0x56140143c4e0; 1 drivers
|
||||
v0x5614014353a0_0 .net "xor1", 0 0, L_0x56140143bfd0; 1 drivers
|
||||
v0x561401435460_0 .net "xor2", 0 0, L_0x56140143c100; 1 drivers
|
||||
.scope S_0x56140140d330;
|
||||
T_0 ;
|
||||
%vpi_call 2 14 "$monitor", "Time: %0t | Binary: %b | BCD: %b (Hundreds: %d, Tens: %d, Ones: %d)", $time, v0x561401436b30_0, v0x561401436a70_0, &PV<v0x561401436a70_0, 8, 4>, &PV<v0x561401436a70_0, 4, 4>, &PV<v0x561401436a70_0, 0, 4> {0 0 0};
|
||||
%vpi_call 2 16 "$dumpfile", "BinaryToBCD.vcd" {0 0 0};
|
||||
%vpi_call 2 17 "$dumpvars" {0 0 0};
|
||||
%pushi/vec4 0, 0, 8;
|
||||
%store/vec4 v0x561401436b30_0, 0, 8;
|
||||
%delay 10, 0;
|
||||
%pushi/vec4 10, 0, 8;
|
||||
%store/vec4 v0x561401436b30_0, 0, 8;
|
||||
%delay 10, 0;
|
||||
%pushi/vec4 42, 0, 8;
|
||||
%store/vec4 v0x561401436b30_0, 0, 8;
|
||||
%delay 10, 0;
|
||||
%pushi/vec4 99, 0, 8;
|
||||
%store/vec4 v0x561401436b30_0, 0, 8;
|
||||
%delay 10, 0;
|
||||
%pushi/vec4 153, 0, 8;
|
||||
%store/vec4 v0x561401436b30_0, 0, 8;
|
||||
%delay 10, 0;
|
||||
%pushi/vec4 255, 0, 8;
|
||||
%store/vec4 v0x561401436b30_0, 0, 8;
|
||||
%delay 10, 0;
|
||||
%vpi_call 2 38 "$finish" {0 0 0};
|
||||
%end;
|
||||
.thread T_0;
|
||||
# The file index is used to find the file name in the following table.
|
||||
:file_names 5;
|
||||
"N/A";
|
||||
"<interactive>";
|
||||
"BinaryToBCDTB.v";
|
||||
"BinaryToBCD.v";
|
||||
"dabble.v";
|
2
verilog/ALU0.2/binarytobcdZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
52
verilog/ALU0.2/dabble
Normal file
@ -0,0 +1,52 @@
|
||||
#! /usr/bin/vvp
|
||||
:ivl_version "11.0 (stable)";
|
||||
:ivl_delay_selection "TYPICAL";
|
||||
:vpi_time_precision + 0;
|
||||
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/system.vpi";
|
||||
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_sys.vpi";
|
||||
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_textio.vpi";
|
||||
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/v2005_math.vpi";
|
||||
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/va_math.vpi";
|
||||
S_0x5621d16e7df0 .scope module, "dabble" "dabble" 2 1;
|
||||
.timescale 0 0;
|
||||
.port_info 0 /INPUT 1 "A";
|
||||
.port_info 1 /INPUT 1 "B";
|
||||
.port_info 2 /INPUT 1 "C";
|
||||
.port_info 3 /INPUT 1 "D";
|
||||
.port_info 4 /OUTPUT 1 "X";
|
||||
.port_info 5 /OUTPUT 1 "Y";
|
||||
.port_info 6 /OUTPUT 1 "Z";
|
||||
.port_info 7 /OUTPUT 1 "E";
|
||||
o0x7f27d282c018 .functor BUFZ 1, C4<z>; HiZ drive
|
||||
o0x7f27d282c0a8 .functor BUFZ 1, C4<z>; HiZ drive
|
||||
L_0x5621d1732e70 .functor XOR 1, o0x7f27d282c018, o0x7f27d282c0a8, C4<0>, C4<0>;
|
||||
o0x7f27d282c048 .functor BUFZ 1, C4<z>; HiZ drive
|
||||
L_0x5621d1732f60 .functor NOR 1, o0x7f27d282c018, o0x7f27d282c048, C4<0>, C4<0>;
|
||||
o0x7f27d282c078 .functor BUFZ 1, C4<z>; HiZ drive
|
||||
L_0x5621d1733000 .functor XOR 1, o0x7f27d282c018, o0x7f27d282c078, C4<0>, C4<0>;
|
||||
L_0x5621d17330d0 .functor NOR 1, L_0x5621d1732e70, L_0x5621d1733000, C4<0>, C4<0>;
|
||||
L_0x5621d1733240 .functor NOR 1, L_0x5621d17330d0, L_0x5621d1732f60, C4<0>, C4<0>;
|
||||
L_0x5621d1733350 .functor BUF 1, L_0x5621d1733240, C4<0>, C4<0>, C4<0>;
|
||||
L_0x5621d1733450 .functor OR 1, L_0x5621d1732e70, L_0x5621d1732f60, C4<0>, C4<0>;
|
||||
L_0x5621d17334c0 .functor NOR 1, L_0x5621d1733450, o0x7f27d282c078, C4<0>, C4<0>;
|
||||
L_0x5621d1733620 .functor AND 1, L_0x5621d1733450, L_0x5621d1733000, C4<1>, C4<1>;
|
||||
L_0x5621d1733690 .functor XOR 1, L_0x5621d1733240, o0x7f27d282c0a8, C4<0>, C4<0>;
|
||||
v0x5621d16e8050_0 .net "A", 0 0, o0x7f27d282c018; 0 drivers
|
||||
v0x5621d1732380_0 .net "B", 0 0, o0x7f27d282c048; 0 drivers
|
||||
v0x5621d1732440_0 .net "C", 0 0, o0x7f27d282c078; 0 drivers
|
||||
v0x5621d17324e0_0 .net "D", 0 0, o0x7f27d282c0a8; 0 drivers
|
||||
v0x5621d17325a0_0 .net "E", 0 0, L_0x5621d1733690; 1 drivers
|
||||
v0x5621d17326b0_0 .net "X", 0 0, L_0x5621d1733350; 1 drivers
|
||||
v0x5621d1732770_0 .net "Y", 0 0, L_0x5621d17334c0; 1 drivers
|
||||
v0x5621d1732830_0 .net "Z", 0 0, L_0x5621d1733620; 1 drivers
|
||||
v0x5621d17328f0_0 .net "nor1", 0 0, L_0x5621d1732f60; 1 drivers
|
||||
v0x5621d17329b0_0 .net "nor2", 0 0, L_0x5621d17330d0; 1 drivers
|
||||
v0x5621d1732a70_0 .net "nor3", 0 0, L_0x5621d1733240; 1 drivers
|
||||
v0x5621d1732b30_0 .net "or1", 0 0, L_0x5621d1733450; 1 drivers
|
||||
v0x5621d1732bf0_0 .net "xor1", 0 0, L_0x5621d1732e70; 1 drivers
|
||||
v0x5621d1732cb0_0 .net "xor2", 0 0, L_0x5621d1733000; 1 drivers
|
||||
# The file index is used to find the file name in the following table.
|
||||
:file_names 3;
|
||||
"N/A";
|
||||
"<interactive>";
|
||||
"dabble.v";
|
22
verilog/ALU0.2/dabble.v
Normal file
@ -0,0 +1,22 @@
|
||||
module dabble (
|
||||
input A, B, C, D,
|
||||
output X, Y, Z, E
|
||||
);
|
||||
|
||||
wire xor1, nor1, xor2, nor2, nor3, or1;
|
||||
|
||||
xor xo1 (xor1, A, D);
|
||||
nor no1 (nor1, A, B);
|
||||
xor xo2 (xor2, A, C);
|
||||
|
||||
nor no2 (nor2, xor1, xor2);
|
||||
|
||||
nor no3 (nor3, nor2, nor1);
|
||||
buf bu1 (X, nor3);
|
||||
or o1 (or1, xor1, nor1);
|
||||
|
||||
nor no4 (Y, or1, C);
|
||||
and an1 (Z, or1, xor2);
|
||||
xor xo3 (E, nor3, D);
|
||||
|
||||
endmodule
|
2
verilog/ALU0.2/dabble.vZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
2
verilog/ALU0.2/dabbleZone.Identifier
Normal file
@ -0,0 +1,2 @@
|
||||
[ZoneTransfer]
|
||||
ZoneId=3
|
11
verilog/ALU0.2/divider.v
Normal file
@ -0,0 +1,11 @@
|
||||
module divider (
|
||||
input [3:0] D,
|
||||
input [1:0] d,
|
||||
output [2:0] R,
|
||||
output [3:0] Q
|
||||
);
|
||||
|
||||
wire s1,y1,c1;
|
||||
|
||||
dividerpu d1 (.A(D[3]), .B(d[0]), .Cin(1'b1), .S(s1), .Y(y1), .COut(c1));
|
||||
dividerpu d2 (.A(1'b0), .B(d[1]), .Cin(c1), .S(s1), .Y(y1), .COut(c1));
|