aboutsummaryrefslogtreecommitdiffstats
path: root/os/common
diff options
context:
space:
mode:
Diffstat (limited to 'os/common')
0 files changed, 0 insertions, 0 deletions
d='n51' href='#n51'>51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
<html><head>
<title>YosysJS Example Application #02</title>
<script type="text/javascript" src="yosysjs.js"></script>
<script src="http://wavedrom.com/skins/default.js" type="text/javascript"></script>
<script src="http://wavedrom.com/WaveDrom.js" type="text/javascript"></script>
<style type="text/css">
.noedit { color: #666; }
</style>
<script id="golden_verilog" type="text/plain">
module ref(input clk, reset, input [7:0] A, output reg [7:0] Y);
	always @(posedge clk) begin
		if (reset)
			Y <= 0;
		else
			Y <= ((Y << 5) + Y) ^ A;
	end
endmodule
</script>
</head><body>
	<div id="popup" style="position: fixed; left: 0; top: 0; width:100%; height:100%; text-align:center; z-index: 1000;
		background-color: rgba(100, 100, 100, 0.5);"><div style="width:300px; margin: 200px auto; background-color: #88f;
		border:3px dashed #000; padding:15px; text-align:center;"><span id="popupmsg">Loading...</span></div>
	</div>
	<h1>YosysJS Example Application #03</h1>
	<b>Your mission:</b> Create a behavioral Verilog model for the following circuit:
	<p/>
	<div id="main" style="visibility: hidden">
		<svg id="schem" width="800"></svg>
		<p/>
		<pre id="code" style="width: 800px; border:2px solid #000; padding: 0.5em;"><span class="noedit">module top(input clk, reset, input [7:0] A, output reg [7:0] Y);
  always @(posedge clock) begin</span><span class="edit" contenteditable="true">
    Y &lt;= A | {4{reset}};
  </span><span class="noedit">end
endmodule</span></pre><p/>
		<input type="button" value="Check Model" onclick="check_model()"> <span id="checkmessage"></span>
		<p/>
		<p id="wave">&nbsp;</p>
	</div>
	<script type="text/javascript">
		function on_ys_ready() {
			ys.write_file('golden.v', document.getElementById('golden_verilog').textContent);
			ys.run('echo on; read_verilog golden.v; proc;;');
			ys.run('show -notitle -width -stretch');
			YosysJS.dot_into_svg(ys.read_file('show.dot'), 'schem');
			document.getElementById('popup').style.visibility = 'hidden';
			document.getElementById('popupmsg').textContent = 'Please wait..';
			document.getElementById('main').style.visibility = 'visible';