assign это непрерывное присваивание, и оно внутри блоков always не применяется. Внутри блоков применять следует в большинств случаев "<=". В общем Вы много чего перепутали. assign - только вне блоков always. Внутри блоков always - только просто <= или =. А вообще - смотрите примеры и доки. Правильным путем идете.