在以下代码中:
wire a;
reg b;
assign a = b;
ModuleName foo(a, other wire inputs, ... , wire outputs);
假设他们是顶级模块的一部分。
我想运行一个always @ block,但是对在此模块中实例化的模块的输入进行更改。
always@(*) b = c^d; //Some Logic
问题是,它们是电线,不能在总是@块的LHS上。我是否可以对b
进行更改,并期望在a
中看到它们,即模块foo的输入。
答案 0 :(得分:0)
是。每次更改b
时,a
也会发生变化。这就是assign
语句的作用。记住这是硬件。声明
assign a = b;
表示'wire
a
行reg
b
一直有<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
class Admin extends Authenticatable
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function roles()
{
return $this->belongsToMany('App\Role', 'admin_role', 'admin_id', 'role_id');
}
public function hasAnyRole($roles)
{
if (is_array($roles)) {
foreach ($roles as $role) {
if ($this->hasRole($role)) {
return true;
}
}
} else {
if ($this->hasRole($roles)) {
return true;
}
}
return false;
}
public function hasRole($role)
{
if ($this->roles()->where('name', $role)->first()) {
return true;
}
return false;
}
public function myfunction($val)
{
echo "===>".$val; exit ;
}
}
{/ p>}。