Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from migen import *
- import panologic_g2 as board
- class Test(Module):
- def __init__(self, clk, rst, led, btn):
- self.nounce = Signal(32)
- # SHA256 input
- self.init, self.next, self.mode = Signal(1), Signal(1), Signal(1)
- self.block = Signal(512)
- # SHA256 output
- self.digest = Signal(256)
- self.ready, self.valid = Signal(1), Signal(1)
- # SHA256 instantiation
- self.specials += Instance("sha256_core",
- Instance.Input("clk", clk),
- Instance.Input("reset_n", btn),
- Instance.Input("init", self.init),
- Instance.Input("next", self.next),
- Instance.Input("mode", self.mode),
- Instance.Input("block", self.block),
- Instance.Output("ready", self.ready),
- Instance.Output("digest", self.digest),
- Instance.Output("valid", self.valid))
- self.sync += self.nounce.eq(self.nounce+1)
- plat = board.Platform()
- plat.add_source("sha256_core.v")
- led = plat.request("user_led_red")
- btn = plat.request("pano_button")
- sysclk = plat.request("usb_clk")
- t=Test(sysclk, btn, led, btn)
- #plat.build(t)
- def sim(dut):
- yield
- yield
- run_simulation(t, sim(t), vcd_name="test.vcd")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement