Compare commits
	
		
			2 Commits
		
	
	
		
			ff9ad9e94a
			...
			d6248865b3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d6248865b3 | |||
| 2317fec71d | 
							
								
								
									
										40
									
								
								gallery.bash
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								gallery.bash
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | PDFS=false | ||||||
|  |  | ||||||
|  | while getopts "p" flag | ||||||
|  | do | ||||||
|  |     case "${flag}" in | ||||||
|  |         p) PDFS=true;; | ||||||
|  |     esac | ||||||
|  | done | ||||||
|  |  | ||||||
|  | echo "Generating gallery images" | ||||||
|  |  | ||||||
|  | set -- ./gallery/*.typ | ||||||
|  | cnt="$#" | ||||||
|  | i=1 | ||||||
|  | for f | ||||||
|  | do | ||||||
|  |     f2="${f/typ/png}" | ||||||
|  |     echo "($i/$cnt) $f -> $f2" | ||||||
|  |     typst c --root ./ "$f" "$f2" | ||||||
|  |     i=$((i+1)) | ||||||
|  | done | ||||||
|  |  | ||||||
|  | if [ "$PDFS" = true ] | ||||||
|  | then | ||||||
|  |     echo | ||||||
|  |     echo "Generating gallery PDFs" | ||||||
|  |  | ||||||
|  |     set -- ./gallery/*.typ | ||||||
|  |     cnt="$#" | ||||||
|  |     i=1 | ||||||
|  |     for f | ||||||
|  |     do | ||||||
|  |         f2="${f/typ/pdf}" | ||||||
|  |         echo "($i/$cnt) $f -> $f2" | ||||||
|  |         typst c --root ./ "$f" "$f2" | ||||||
|  |         i=$((i+1)) | ||||||
|  |     done | ||||||
|  | fi | ||||||
							
								
								
									
										
											BIN
										
									
								
								gallery/test.pdf
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gallery/test.pdf
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								gallery/test.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gallery/test.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 142 KiB | 
| @@ -1,6 +1,6 @@ | |||||||
| #import "../src/lib.typ": circuit, element, util, wire | #import "../src/lib.typ": circuit, element, util, wire | ||||||
|  |  | ||||||
| #set page(flipped: true) | #set page(width: auto, height: auto, margin: .5cm) | ||||||
|  |  | ||||||
| #circuit({ | #circuit({ | ||||||
|   element.block( |   element.block( | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								gallery/test2.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gallery/test2.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 142 KiB | 
| @@ -1,6 +1,6 @@ | |||||||
| #import "../src/lib.typ": circuit, element, util, wire | #import "../src/lib.typ": circuit, element, util, wire | ||||||
|  |  | ||||||
| #set page(flipped: true) | #set page(width: auto, height: auto, margin: .5cm) | ||||||
|  |  | ||||||
| #circuit({ | #circuit({ | ||||||
|   element.block( |   element.block( | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								gallery/test3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gallery/test3.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 70 KiB | 
| @@ -1,8 +1,7 @@ | |||||||
| #import "@preview/cetz:0.2.2": draw | #import "@preview/cetz:0.2.2": draw | ||||||
| #import "../src/lib.typ": circuit, element, util, wire | #import "../src/lib.typ": circuit, element, util, wire | ||||||
|  |  | ||||||
| #set page(flipped: true) | #set page(width: auto, height: auto, margin: .5cm) | ||||||
| #let debug = false |  | ||||||
|  |  | ||||||
| #circuit({ | #circuit({ | ||||||
|   element.block( |   element.block( | ||||||
| @@ -14,18 +13,14 @@ | |||||||
|         (id: "out1"), |         (id: "out1"), | ||||||
|         (id: "out2"), |         (id: "out2"), | ||||||
|       ) |       ) | ||||||
|     ), |  | ||||||
|     debug: ( |  | ||||||
|       ports: debug  |  | ||||||
|  |  | ||||||
|     ) |     ) | ||||||
|   ) |   ) | ||||||
|   element.gate-and( |   element.gate-and( | ||||||
|     x: 4, y: 0, w: 2, h: 2, id: "and1", debug: (ports: debug), |     x: 4, y: 0, w: 2, h: 2, id: "and1", | ||||||
|     inverted: ("in1") |     inverted: ("in1") | ||||||
|   ) |   ) | ||||||
|   element.gate-or( |   element.gate-or( | ||||||
|     x: 7, y: 0, w: 2, h: 2, id: "or1", debug: (ports: debug), |     x: 7, y: 0, w: 2, h: 2, id: "or1", | ||||||
|     inverted: ("in0", "out") |     inverted: ("in0", "out") | ||||||
|   ) |   ) | ||||||
|  |  | ||||||
| @@ -47,7 +42,7 @@ | |||||||
|   ) |   ) | ||||||
|  |  | ||||||
|   element.gate-and( |   element.gate-and( | ||||||
|     x: 11, y: 0, w: 2, h: 2, id: "and2", inputs: 3, debug: (ports: debug), |     x: 11, y: 0, w: 2, h: 2, id: "and2", inputs: 3, | ||||||
|     inverted: ("in0", "in2") |     inverted: ("in0", "in2") | ||||||
|   ) |   ) | ||||||
|   for i in range(3) { |   for i in range(3) { | ||||||
| @@ -55,35 +50,35 @@ | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   element.gate-xor( |   element.gate-xor( | ||||||
|     x: 14, y: 0, w: 2, h: 2, id: "xor", debug: (ports: debug), |     x: 14, y: 0, w: 2, h: 2, id: "xor", | ||||||
|     inverted: ("in1") |     inverted: ("in1") | ||||||
|   ) |   ) | ||||||
|    |    | ||||||
|   element.gate-buf( |   element.gate-buf( | ||||||
|     x: 0, y: -3, w: 2, h: 2, id: "buf", debug: (ports: debug) |     x: 0, y: -3, w: 2, h: 2, id: "buf" | ||||||
|   ) |   ) | ||||||
|   element.gate-not( |   element.gate-not( | ||||||
|     x: 0, y: -6, w: 2, h: 2, id: "not", debug: (ports: debug) |     x: 0, y: -6, w: 2, h: 2, id: "not" | ||||||
|   ) |   ) | ||||||
|    |    | ||||||
|   element.gate-and( |   element.gate-and( | ||||||
|     x: 3, y: -3, w: 2, h: 2, id: "and", debug: (ports: debug) |     x: 3, y: -3, w: 2, h: 2, id: "and" | ||||||
|   ) |   ) | ||||||
|   element.gate-nand( |   element.gate-nand( | ||||||
|     x: 3, y: -6, w: 2, h: 2, id: "nand", debug: (ports: debug) |     x: 3, y: -6, w: 2, h: 2, id: "nand" | ||||||
|   ) |   ) | ||||||
|    |    | ||||||
|   element.gate-or( |   element.gate-or( | ||||||
|     x: 6, y: -3, w: 2, h: 2, id: "or", debug: (ports: debug) |     x: 6, y: -3, w: 2, h: 2, id: "or" | ||||||
|   ) |   ) | ||||||
|   element.gate-nor( |   element.gate-nor( | ||||||
|     x: 6, y: -6, w: 2, h: 2, id: "nor", debug: (ports: debug) |     x: 6, y: -6, w: 2, h: 2, id: "nor" | ||||||
|   ) |   ) | ||||||
|    |    | ||||||
|   element.gate-xor( |   element.gate-xor( | ||||||
|     x: 9, y: -3, w: 2, h: 2, id: "xor", debug: (ports: debug) |     x: 9, y: -3, w: 2, h: 2, id: "xor" | ||||||
|   ) |   ) | ||||||
|   element.gate-xnor( |   element.gate-xnor( | ||||||
|     x: 9, y: -6, w: 2, h: 2, id: "xnor", debug: (ports: debug) |     x: 9, y: -6, w: 2, h: 2, id: "xnor" | ||||||
|   ) |   ) | ||||||
| }) | }) | ||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								gallery/test4.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gallery/test4.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 158 KiB | 
| @@ -1,7 +1,7 @@ | |||||||
| #import "@preview/cetz:0.2.2": draw | #import "@preview/cetz:0.2.2": draw | ||||||
| #import "../src/lib.typ": * | #import "../src/lib.typ": * | ||||||
|  |  | ||||||
| #set page(flipped: true) | #set page(width: auto, height: auto, margin: .5cm) | ||||||
|  |  | ||||||
| #circuit({ | #circuit({ | ||||||
|   element.group(id: "toplvl", name: "Toplevel", { |   element.group(id: "toplvl", name: "Toplevel", { | ||||||
| @@ -200,18 +200,22 @@ | |||||||
|     draw.content("dmem.south-west", [*External Memories*], anchor: "north", padding: 10pt) |     draw.content("dmem.south-west", [*External Memories*], anchor: "north", padding: 10pt) | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
|   wire.wire( |   draw.line(name: "w-dp-clk", | ||||||
|     "w-dp-clk", |     "dp-port-clk", | ||||||
|     ("dp-port-clk", (-1, 4.2)), |     (rel: (0, .5), to: ()), | ||||||
|     style: "zigzag", |     ( | ||||||
|     zigzag-dir: "horizontal", |       rel: (-.5, 0), | ||||||
|     zigzag-ratio: 100% |       to: (horizontal: "toplvl.west", vertical: ()) | ||||||
|  |     ) | ||||||
|   ) |   ) | ||||||
|   draw.content("w-dp-clk.end", "clk", anchor: "east", padding: 3pt) |   draw.content("w-dp-clk.end", "clk", anchor: "east", padding: 3pt) | ||||||
|    |    | ||||||
|   wire.wire( |   draw.line(name: "w-dp-rst", | ||||||
|     "w-dp-rst", |     "dp-port-rst", | ||||||
|     ("dp-port-rst", (horizontal: (-1, 0), vertical: ())) |     ( | ||||||
|  |       rel: (-.5, 0), | ||||||
|  |       to: (horizontal: "toplvl.west", vertical: ()) | ||||||
|  |     ) | ||||||
|   ) |   ) | ||||||
|   draw.content("w-dp-rst.end", "rst", anchor: "east", padding: 3pt) |   draw.content("w-dp-rst.end", "rst", anchor: "east", padding: 3pt) | ||||||
| }) | }) | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								gallery/test5.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gallery/test5.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 276 KiB | 
| @@ -1,7 +1,7 @@ | |||||||
| #import "@preview/cetz:0.2.2": draw | #import "@preview/cetz:0.2.2": draw | ||||||
| #import "../src/lib.typ": * | #import "../src/lib.typ": * | ||||||
|  |  | ||||||
| #set page(flipped: true, paper: "a3") | #set page(width: auto, height: auto, margin: .5cm) | ||||||
|  |  | ||||||
| #circuit({ | #circuit({ | ||||||
|   element.multiplexer( |   element.multiplexer( | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								manual.pdf
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								manual.pdf
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -192,15 +192,18 @@ | |||||||
|   let second-pos = points.at(1) |   let second-pos = points.at(1) | ||||||
|   if reverse { |   if reverse { | ||||||
|     (first-pt, last-pt) = (last-pt, first-pt) |     (first-pt, last-pt) = (last-pt, first-pt) | ||||||
|     (first-pos, second-pos) = (second-pos, first-pos) |  | ||||||
|   } |   } | ||||||
|    |    | ||||||
|   let angle = 0deg |   let angle = 0deg | ||||||
|   if rotate-name { |   if rotate-name { | ||||||
|     (ctx, first-pos) = coordinate.resolve(ctx, first-pos) |     (ctx, first-pos) = coordinate.resolve(ctx, first-pos) | ||||||
|     (ctx, second-pos) = coordinate.resolve(ctx, second-pos) |     (ctx, second-pos) = coordinate.resolve(ctx, second-pos) | ||||||
|     let (x1, y1, _) = first-pos |      | ||||||
|     let (x2, y2, _) = second-pos |     if reverse { | ||||||
|  |       (first-pos, second-pos) = (second-pos, first-pos) | ||||||
|  |     } | ||||||
|  |     let (x1, y1, ..) = first-pos | ||||||
|  |     let (x2, y2, ..) = second-pos | ||||||
|     angle = calc.atan2(x2 - x1, y2 - y1) |     angle = calc.atan2(x2 - x1, y2 - y1) | ||||||
|   } |   } | ||||||
|    |    | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user