Advertisement
Guest User

Untitled

a guest
Dec 14th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.32 KB | None | 0 0
  1. from migen import *
  2. import panologic_g2 as board
  3.  
  4. class Test(Module):
  5.   def __init__(self, clk, rst, led, btn):
  6.     self.nounce = Signal(32)
  7.  
  8.     # SHA256 input
  9.     self.init, self.next, self.mode = Signal(1), Signal(1), Signal(1)
  10.     self.block = Signal(512)
  11.    
  12.     # SHA256 output
  13.     self.digest = Signal(256)
  14.     self.ready, self.valid = Signal(1), Signal(1)
  15.  
  16.     # SHA256 instantiation
  17.     self.specials += Instance("sha256_core",
  18.                        Instance.Input("clk", clk),
  19.                        Instance.Input("reset_n", btn),
  20.  
  21.                        Instance.Input("init", self.init),
  22.                        Instance.Input("next", self.next),
  23.                        Instance.Input("mode", self.mode),
  24.  
  25.                        Instance.Input("block", self.block),
  26.  
  27.                        Instance.Output("ready", self.ready),
  28.                        Instance.Output("digest", self.digest),
  29.                        Instance.Output("valid", self.valid))
  30.  
  31.     self.sync += self.nounce.eq(self.nounce+1)
  32.  
  33. plat = board.Platform()
  34. plat.add_source("sha256_core.v")
  35. led = plat.request("user_led_red")
  36. btn = plat.request("pano_button")
  37. sysclk = plat.request("usb_clk")
  38.  
  39.  
  40. t=Test(sysclk, btn, led, btn)
  41.  
  42. #plat.build(t)
  43.  
  44. def sim(dut):
  45.   yield
  46.   yield
  47.  
  48. run_simulation(t, sim(t), vcd_name="test.vcd")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement